📜  Java程序的输出 |第 54 集(矢量)

📅  最后修改于: 2022-05-13 01:55:52.117000             🧑  作者: Mango

Java程序的输出 |第 54 集(矢量)

先决条件: Java基础知识中的向量

1. 以下程序的输出是什么

import java.util.*;
class demo1 {
    public static void main(String[] args)
    {
        Vector v = new Vector(20);
        System.out.println(v.capacity());
        System.out.println(v.size());
    }
}

输出:

20
0

解释:
函数 – int capacity() 返回向量的容量,即它可以容纳多少元素。
函数 – int size() 返回当前向量中的元素数量。由于没有添加任何元素,因此为 0。

2. 以下程序的输出是什么

import java.util.*;
class demo2 {
    public static void main(String[] args)
    {
        Vector v = new Vector(20);
        v.addElement("Geeksforgeeks");
        v.insertElementAt("Java", 2);
        System.out.println(v.firstElement());
    }
}

输出:

It gives no output because of ArrayindexOutOfBound Exception

解释:
这是因为最初在索引 0 处只有一个元素。接下来它希望在索引 1 处添加一个值,但我们在索引 2 处添加。因此引发了异常。

3. 以下程序的输出是什么

import java.util.*;
class demo3 {
    public static void main(String[] args)
    {
        Vector v = new Vector(20);
        v.addElement("Geeksforgeeks");
        v.insertElementAt("Java", 0);
        System.out.println(v.firstElement());
    }
}

输出:

Java

解释:
void addElement (E) – 将元素 E 添加到向量中
void insertElementAt(Object E, int index) – 将元素 E 添加到由 index 指定的位置处的向量中。
Object firstElement( ) – 返回向量中的第一个元素。

“Java”成为第一个元素,“Geeksforgeeks”成为第二个元素。

4. 以下程序的输出是什么

import java.util.*;
class demo4 {
    public static void main(String[] args)
    {
        Vector v = new Vector(20);
        v.addElement("Geeksforgeeks");
        System.out.println(v.elementAt(1));
    }
}

输出:

No output because of ArrayIndexOutOfBound Exception

解释:
函数 elementAt(int index) 返回 index 指定位置的元素。
这里同样,元素被添加到索引 0 并且数组的大小只有 1。
因此调用 elementAt(1) 会引发异常,因为索引号。 1 尚不存在。

5. 以下程序的输出是什么

import java.util.*;
class demo5 {
    public static void main(String[] args)
    {
        Vector v = new Vector(40);
        v.addElement("Geeksforgeeks");
        v.addElement("Programming");
        v.addElement("Java");
        System.out.println(v.firstElement());
        System.out.println(v.lastElement());
    }
}

输出:

Geeksforgeeks
Java

解释:
函数– firstElement() 返回向量中的第一个元素。
函数– lastElement( ) 返回向量中的最后一个元素。

6. 以下程序的输出是什么

import java.util.*;
class demo6 {
    public static void main(String[] args)
    {
        Vector v = new Vector(30);
        v.addElement("Geeksforgeeks");
        v.insertElementAt("Java", 0);
        System.out.println(v.indexOf("Geeksforgeeks"));
    }
}

输出:

1

解释:
函数– int indexOf(Object E) 返回元素 E 第一次出现的索引。

7. 以下程序的输出是什么

import java.util.*;
class demo7 {
    public static void main(String[] args)
    {
        Vector v = new Vector(30);
        v.addElement("Geeksforgeeks");
        v.addElement("Java");
        v.addElement("C++");
        v.addElement("C");
        v.addElement("Geeksforgeeks");
        System.out.println(v.indexOf("Geeksforgeeks", 2));
    }
}

输出:

4

解释:
函数– int indexOf(Object E, int start) – 返回元素 E 在开始时或之后第一次出现的索引。因此,“Geeksforgeeks”的索引在索引“2”之后返回。

8. 以下程序的输出是什么

import java.util.*;
class demo8 {
    public static void main(String[] args)
    {
        Vector v = new Vector(30);
        v.addElement("Geeksforgeeks");
        v.addElement("Java");
        Vector v1 = new Vector();
        v1 = (Vector)v.clone();
        System.out.println(v1.firstElement());
    }
}

输出:

Geeksforgeeks

解释:
函数– 对象 clone() 返回调用向量的副本。
v1 是 v 的副本,第一个元素为“Geeksforgeeks”

9. 以下程序的输出是什么

import java.util.*;
class demo9 {
    public static void main(String[] args)
    {
        Vector v = new Vector(30);
        v.addElement("Geeksforgeeks");
        Vector v1 = new Vector();
        v1 = (Vector)v.clone();
        System.out.println(v1.firstElement());
  
        v.insertElementAt("Java", 0);
        System.out.println(v1.firstElement());
    }
}

输出:

Geeksforgeeks
Geeksforgeeks

解释:
最初 v1.firstElement() 返回向量 v1 的第一个元素。然后一个元素被添加到向量 v,但它没有被添加到它的重复向量 v1。
因此,一旦克隆完成,新元素就不能添加到重复向量中。
所以向量 v 包含“Java”和“Geeksforgeeks”,向量 v1 只包含“Geeksforgeeks”。

10. 以下程序的输出是什么

import java.util.*;
class demo10 {
    public static void main(String[] args)
    {
        Vector v = new Vector(30);
        v.addElement("Geeksforgeeks");
        Vector v1 = new Vector();
        v1 = (Vector)v.clone();
        v.insertElementAt("Java", 0);
        System.out.println(v1.contains("Java"));
    }
}

输出:

false

解释:
函数 – boolean contains(Object E) 如果元素 E 包含在向量中,则返回“true”,否则返回 false。

11. 以下程序的输出是什么

import java.util.*;
class demo11 {
    public static void main(String[] args)
    {
        Vector v = new Vector(8);
        v.addElement("Geeksforgeeks");
        v.insertElementAt("Java", 0);
        String array[] = new String[8];
        v.copyInto(array);
  
        for (int i = 0; i < array.length; i++)
            System.out.println(array[i]);
    }
}

输出:

Java
Geeksforgeeks
null
null
null
null
null
null

解释:
函数– void copyInto(Object array[ ]) 将调用向量中包含的元素复制到“array”指定的数组中。
现在数组只有两个元素“Java”和“Geeksforgeeks”,其余的输出为空。

12. 以下程序的输出是什么

import java.util.*;
class demo12 {
    public static void main(String[] args)
    {
        Vector v = new Vector(30);
        v.addElement("Geeksforgeeks");
        v.insertElementAt("Java", 0);
        v.removeAllElements();
        System.out.println(v.size());
  
        v.addElement("Geeksforgeeks");
        v.addElement("Java");
        v.removeElementAt(0);
        System.out.println(v.size());
    }
}

输出:

0
1

解释:
函数– void removeAllElements() 清空向量并移除向量的所有元素。此方法执行后,向量的大小为零。
函数– void removeElementAt(int index) 移除 'index' 指定位置处的元素。

13. 以下程序的输出是什么

import java.util.*;
class demo13 {
    public static void main(String[] args)
    {
        Vector v = new Vector(30);
        v.addElement("Geeksforgeeks");
        v.addElement("Java");
        v.trimToSize();
        System.out.println(v.size());
        System.out.println(v.capacity());
    }
}

输出:

2
2

解释:
函数– void trimToSize( ) 将向量的容量设置为等于它当前拥有的元素数。

14. 以下程序的输出是什么

import java.util.*;
class demo14 {
    public static void main(String[] args)
    {
        Vector v = new Vector(30);
        v.addElement("Geeksforgeeks");
        v.addElement("Java");
        v.trimToSize();
  
        v.addElement("C++");
        System.out.println(v.size());
        System.out.println(v.capacity());
    }
}

输出:

3
4

解释:
v.trimToSize() 使大小和容量等于 2。
添加另一个元素后,大小变为 3,容量增加一倍(默认情况下),即 4

15. 以下程序的输出是什么

import java.util.*;
class demo15 {
    public static void main(String[] args)
    {
        Vector v = new Vector(30);
        v.addElement("Geeksforgeeks");
        v.addElement("Java");
        v.addElement("C++");
        v.addElement("C");
        System.out.println(v.toString());
        v.removeAllElements();
        System.out.println(v.toString());
    }
}

输出:

[Geeksforgeeks, Java, C++, C]
[]

解释:
函数– toString() 返回向量的等效字符串。
第一次调用 toString() 显示与向量 v 的内容等价的字符串。
删除所有元素后,向量变为空,因此对 toString()函数的第二次调用返回一个空字符串。