Map Set List
研究Java中的各种集合之间的区别以及如何使用。

General
Java 中有两个接口,一个是Collection,另一个是Map。Set和List都是Collection的子类(Set and List implement from Collection)。在Java中,我们不可以直接使用Collection,使用的都是继承自Collection的子类(Set,List)。
Collection主要方法:
boolean add(Object o)
添加对象到集合
boolean remove(Object o)
删除指定的对象
int size()
返回当前集合中元素的数量
boolean contains(Object o)
查找集合中是否有指定的对象
boolean isEmpty()
判断集合是否为空
Iterator iterator()
返回一个迭代器
boolean containsAll(Collection c)
查找集合中是否有集合c中的元素
boolean addAll(Collection c)
将集合c中所有的元素添加给该集合
void clear()
删除集合中所有元素
void removeAll(Collection c)
从集合中删除c集合中也有的元素
void retainAll(Collection c)
从集合中删除集合c中不包含的元素
Set
- Set 继承自 Collection。Set中不允许存在两个同样的元素。假如我们有两个元素,e1和e2。如果
e1.equals(e2)==true
,且e1已经被add到Set中了,那么Set.add(e2)
将不会把e2 加入到Set中。 - 最多只能有一个null元素
- 在Set中,object是没有顺序的。
- 一般来说如果Object不属于Java基本库,我们需要覆盖(override)父类的方法
equals()
HashSet和TreeSet是两个最常见的继承自Set的类。
List
- List 继承自 Collection。List中允许重复的对象。
- List中可以存在多个null元素
- List中的Object都是有顺序的,输出的顺序即是输入的顺序
LinkedList, ArrayList