读书人

vector类的基础有关问题

发布时间: 2012-02-23 22:01:34 作者: rapoo

vector类的基础问题
代码如下:

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是一个包含指定集合中的元素的向量,这些元素按其集合的迭代器返回元素的顺序排列,当你用add向里面追加元素的时候,它的容量会增加。
[解决办法]
怎莫会覆盖呢
加一段调试代码,不就知道了

Java code
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


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*/



读书人网 >J2SE开发

热点推荐