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()函数的第二次调用返回一个空字符串。