在Java.util中共有9个类可以用来治理对象集合
描述
类HashSet使用HashMap的一个集的实现。虽然集定义成无序,但必须存在某种方法能相当高效地找到一个对象。使用一个HashMap对象实现集的存储和检索操作是在固定时间内实现的.
TreeSet在集中以升序对对象排序的集的实现。这意味着从一个TreeSet对象获得第一个迭代器将按升序提供对象。TreeSet类使用了一个TreeMap.
表Vector实现一个类似数组一样的表,自动增加容量来容纳你所需的元素。使用下标存储和检索对象就象在一个标准的数组中一样。你也可以用一个迭代器从一个Vector中检索对象。Vector是唯一的同步容器类??当两个或多个线程同时访问时也是性能良好的。
Stsck这个类从Vector派生而来,并且增加了方法实现栈??一种后进先出的存储结构。
LinkedList实现一个链表。由这个类定义的链表也可以像栈或队列一样被使用。
ArrayList实现一个数组,它的规模可变并且能像链表一样被访问。它提供的功能类似Vector类但不同步。
映 象HashTable实现一个映象,所有的键必须非空。为了能高效的工作,定义键的类必须实现hashcode()方法和equal()方法。这个类是前面java实现的一个继续,并且通常能在实现映象的其他类中更好的使用。
HashMap实现一个映象,答应存储空对象,而且答应键是空(由于键必须是唯一的,当然只能有一个)。
WeakHashMap实现这样一个映象:通常假如一个键对一个对象而言不再被引用,键/对象对将被舍弃。这与HashMap形成对照,映象中的键维持键/对象对的生命周期,尽管使用映象的程序不再有对键的引用,并且因此不能检索对象。
TreeMap实现这样一个映象,对象是按键升序排列的。
Java.util包中的迭代器(Iteraor)接口描述了三种方法:
方法描述
Next()从第一个开始返回一个Object类型的对象,并且设置迭代器对象在下次调用该方法时返回下一个对象。若这个方法没有对象返回,则抛出一个NoSUChElementException异常。
HasNext()若调用next()方法检索到下一个对象,则返回ture.
Remove()在提供迭代器对象的集合中删除由next()方法返回的最后一个对象。若没有调用next()或调用next()后你调用了两次remove(),则会抛出IllegaStateException异常。不是所有的迭代器都支持这个方法,假如不支持,你却调用了该方法,会抛出UnsupportedOperation异常。