java-集合包
2017-08-15 本文已影响7人
xlesterx
Collection
- List必须保持元素特定的顺序
- Set不能有重复元素
- Queue保持一个队列(先进先出)的顺序
1. List
2. Set
- Set判断两个对象相同不是使用"=="运算符,而是根据equals方法。也就是说,我们在加入一个新元素的时候,如果这个新元素对象和Set中已有对象进行注意equals比较都返回false则Set就会接受这个新元素对象,否则拒绝。
- 因为Set的这个制约,在使用Set集合的时候,应该注意两点:
- 为Set集合里的元素的实现类实现一个有效的equals(Object)方法
- 对Set的构造函数,传入的Collection参数不能包
2.1 HashSet
- 是Set接口的典型实现,HashSet使用HASH算法来存储集合中的元素,因此具有良好的存取和查找性能。
- 当向HashSet集合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据该HashCode值决定该对象在HashSet中的存储位置。
- 值得主要的是,HashSet集合判断两个元素相等的标准是两个对象通过equals()方法比较相等,并且两个对象的hashCode()方法的返回值相等
3. Queue
public interface Queue<E> extends Collection<E>;
特点:
- Interface Iterable
这是Collection类的父接口。实现这个Iterable接口的对象允许使用foreach进行遍历,也就是说,所有的Collection集合对象都具有"foreach可遍历性"。
Map
- Map是一种把键对象和值对象进行映射的集合,它的每一个元素都包含一对键对象和值对象。
- 向Map添加元素时,必须提供键对象和值对象。
- 从Map中检索元素时,只要给出键对象,就可以返回对应的值对象。
- 键对象不能重复,但值对象可以重复。
- Map有两种常见的实现类:HashMap和TreeMap。