集合类
集合类用于存储一组对象,其中的每个对象称之为元素,经常会用到
的有Vector、Enumeration、ArrayList、Collection、Iterator、Set、
List等集合类和接口。
Java不支持动态数组。
Vector类与Enumeration接口
Vector v = new Vector();
System.out.println("please enter number:");
while(true)
{
int b = System.in.read();
if( b == '/r'|| b == '/n')
break;
else
{
int num = b - '0';//b是按asc码存的,转化为等值的数值
v.addElement(new Integer(num));//增加元素
}
int sum = 0;
Enumeration e = v.elements();//取出Vector中所有的元素
while(e.hasMoreElements())
{
Integer intObj = (Integer)e.nextElement();
sum += intObj.intValue();
}
System.out.println(sum);
}
Collection接口和Iterator接口
ArrayList v = new ArrayList();
System.out.println("please enter number:");
while(true)
{
int b = System.in.read();
if( b == '/r'|| b == '/n')
break;
else
{
int num = b - '0';//b是按asc码存的,转化为等值的数值
v.add(new Integer(num));//增加元素
}
int sum = 0;
Iterator e = v.iterator();//取出Vector中所有的元素
while(e.hasNext())
{
Integer intObj = (Integer)e.next();
sum += intObj.intValue();
}
System.out.println(sum);
}
Vector适用多线程的安全问题
ArrayList适用于单线程,多线程安全问题需要程序员自己处理,在单线程中效率较高
Collection、Set、List的区别如下
Collection各元素之间没有指定的顺序,允许有重复元素和多个null元素对象
Set各元素对象之间没有指定的顺序,不允许有重复元素,最多个允许有一个null元素对象.
List各元素对象之间没有指定的顺序,允许有重复元素和多个null元素对象
ArrayList al = new ArrayList();
al.add(new Integer(1));
al.add(new Integer(3));
al.add(new Integer(2));
System.out.println(al.toString());
Collection.sort(al);
System.out.println(al.toString());
Collection类中的方法都是static,可以直接调用