代码如下:import java.util.*;class VectorDemo{ public static void main(String args[]) {
Vector vector=new Vector(100); for(int i=1;i<=20;i++) vector.add("element"+i); vector.add(0,"haha"); System.out.println("第一个元素 :"+vector.firstElement()); System.out.println("第8个元素 :"+vector.get(7)); System.out.println("element15在Vector中的位置:"+vector.indexOf("element15")); } 运行的结果是第八个元素是element7,而element15在vector中的位置是15,这是为什么呢?还有haha作为第一个元素插入是不是覆盖了原来的第一个元素啊,还是每个元素往后挪一位?谢谢各位高手赐教啊,谢谢啊!!O(∩_∩)O~
Vector vector=new Vector(100); for(int i=1;i<=20;i++) vector.add("element"+i); vector.add(0,"haha"); System.out.println("第一个元素 :"+vector.firstElement()); System.out.println("第8个元素 :"+vector.get(7)); System.out.println("element15在Vector中的位置:"+vector.indexOf("element15")); } 运行的结果是第八个元素是element7,而element15在vector中的位置是15,这是为什么呢?还有haha作为第一个元素插入是不是覆盖了原来的第一个元素啊,还是每个元素往后挪一位?谢谢各位高手赐教啊,谢谢啊!!O(∩_∩)O~
加一段调试代码,不就知道了import java.util.*; class VectorDemo { public static void main(String args[]) {
Vector vector=new Vector(100); for(int i=1;i <=20;i++) vector.add("element"+i); vector.add(0,"haha"); System.out.println("第一个元素 :"+vector.firstElement()); System.out.println("第8个元素 :"+vector.get(7)); System.out.println("element15在Vector中的位置:"+vector.indexOf("element15"));
System.out.println("*********Elemenets*********");
for(int i=0;i<vector.size();i++){
System.out.println("index is:"+i+" "+"element is:"+vector.get(i));
} }
}
打印结果
第一个元素 :haha
第8个元素 :element7
element15在Vector中的位置:15
*********Elemenets*********
index is:0 element is:haha
index is:1 element is:element1
index is:2 element is:element2
index is:3 element is:element3
index is:4 element is:element4
index is:5 element is:element5
index is:6 element is:element6
index is:7 element is:element7
index is:8 element is:element8
index is:9 element is:element9
index is:10 element is:element10
index is:11 element is:element11
index is:12 element is:element12
index is:13 element is:element13
index is:14 element is:element14
index is:15 element is:element15
index is:16 element is:element16
index is:17 element is:element17
index is:18 element is:element18
index is:19 element is:element19
index is:20 element is:element20楼主清楚了吗
第一个元素 :haha
第8个元素 :element7
element15在Vector中的位置:15
for(int i=1;i <=20;i++) vector.add("element"+i); /*将"element1"~"element20"依次存入Vector中,索引0~19,即"element1"对应的索引是0,依次类推*/
vector.add(0,"haha"); /*将"hah"插入0索引处(第一个元素),而"element1"~"element20"的索引依次加1,即"element1"~"element20"的索引变为了1~20.*/
所以
System.out.println("第一个元素 :"+vector.firstElement()); /*vector.firstElement()); 返回第一个元素即索引为0的插入的元素"hah"*/ System.out.println("第8个元素 :"+vector.get(7)); /*返回索引为7的元素,即element7*/ System.out.println("element15在Vector中的位置:"+vector.indexOf("element15")); /*返回"element15"的索引,即15*/
见api:
public void add(int index,
E element)在此向量的指定位置插入指定的元素。将当前位于该位置的元素(如果有)及所有后续元素右移(将其索引加 1)。