Collection方法:
- add()
- remove()
- clear()
- size()
- isEmpty()
- iterator()
1. Set
1.1 性质:
- 元素的顺序与加入时的顺序没有关系,因为set中元素的顺序是无意义的
- 元素不能重复
1.2 分类:
- HashTree:内部是用杂凑实现的,它不保证元素的顺序
- TreeSet:内部是用红黑树实现,它使元素按照自然顺序实现(或实现了comparator)
2. List
2.1 性质:
- 元素的顺序是有意义的
- 元素是可以重复的
- 可以实现随机存取
2.2 分类:
- Vector:线程安全
- ArrayList:线程不安全
2.3 方法:
- int indexOf(object obj):得到对象的索引值
- Object elementAt(int index):通过索引得到对象
- Object set(int index,Object obj)
- void removeElement(int index)
- void insertElement(int index,Object obj)
3. Map
1. 性质
- 元素的顺序与加入时的顺序没有关系,因为set中元素的顺序是无意义的
- 元素不能重复
2. 分类:
- Hashtable:使用杂凑实现
- HasMap
- treeMap
3. 方法:
- void put(Object key, Object value):添加一对“键-值”
- Object get(Object key):通过键,得到值
- Object remove(Object key):通过键,删除值
- Enumeration keys():得到键的枚举
4. Iterator和Enumeration
存取集合里的元素,可以使用多种方法。对于ArrayList和Vector,它们的元素与位置有关,可以用与位置相关的函数来存取元素。除此以外,所有的Collection都可以用Iterator来列举元素,Vector等类还可以用Enumeration来列举元素。它们两个都是列举器,但Iterator的方法中还有remove()可移除元素,所以Iterator功能更强,使用更方便。对于实现Collenction接口的类,都可以使用Iterator接口。
1. Iterator:
- public boolean hasNext(); 是否还有下一个元素
- public Object next(); 得到下一个元素
- public void remove(); 移除当前元素
2. listiterator:
listiterator是iterator的子接口,它具有双向检索功能,并能存取到元素的索引。Listiterator除了具有上述的三个方法,还有:
3. Enumeration
对于一些类,如Vector,可以使用elements()方法来返回一个Enumeration接口。其方法如下: