java集合类——ArrayList和Vector类

ArrayList:查看API可以知道,ArrayList实现List接口。
ArrayList的size()方法得到的是实际元素的个数,不管生成对象时的初始大小是多少,这是自动优化的。ArrayList可以使用foreach和Iterator输出。不是线程安全的。代码如下:
package ArrayListVectorTest;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ArrayListTest {

/**
* @param args
*/
public static void main(String[] args) {
List strs = new ArrayList(4);
System.out.println(strs.size());
String str1 = "hello";
String str2 = "world";
strs.add(str2);
strs.add(str1);
System.out.println(strs.size());
print(strs);
}

private static void print(List strs) {
for(String str : strs) {
System.out.print(str + " ");
}
System.out.println();
System.out.println("------------------------------");
Iterator strIterator = strs.iterator();
for(;strIterator.hasNext();) {
System.out.print(strIterator.next() + " ");
}
System.out.println();
System.out.println("------------------------------");
}

}

输出为:
0
2
world hello
------------------------------
world hello
------------------------------

ArrayList还有很多操作,可以在文档中查找到具体用法。
Vector可以使用Iterator,foreach,Enumeration输出,即得到元素。
package ArrayListVectorTest;

import java.util.Enumeration;
import java.util.Iterator;
import java.util.Vector;

public class VectorTest {

/**
* @param args
*/
public static void main(String[] args) {
Vector strs = new Vector(4);
System.out.println(strs.size());
String str1 = "hello";
String str2 = "world";
strs.add(str1);
strs.add(str2);
System.out.println(strs.size());
print(strs);
}

private static void print(Vector strs) {
for(String str : strs) {
System.out.print(str + "");
}
System.out.println();
System.out.println("--------------------");
Iterator strIterator = strs.iterator();
for(;strIterator.hasNext();) {
System.out.print(strIterator.next() + " ");
}
System.out.println();
System.out.println("---------------------");
Enumeration strEnum = strs.elements();
for(;strEnum.hasMoreElements();) {
System.out.print(strEnum.nextElement());
}
System.out.println();
System.out.println("-----------------------");
}

}

输出为:
0
2
helloworld
--------------------
hello world
---------------------
helloworld
-----------------------

总的来说,ArrayList和Vector的差别很小。很多方法都是一样的。

你可能感兴趣的:(java)