集合:

分类:
	1: Set : 无序,并且放进集合中的对象不能重复。
	2: List: 有序(放入的先后的次序), 放进集合中的对象可以重复。
	3: Map : 集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对象,值对象可以重复。(Key - Value)
从属关系:					   
	Collection:
		1:set:
			1:HashSet
			2:TreeSet(可排序,通过比较器)
			3:LinkedHashSet
		2:list:
			1:ArrayList
			2:Vector
			3:LinkedList
	Map:
		Map:
			1:HashMap
			2:TreeMap(可排序,通过比较器)
			3:Hashtable

Set : 集合中的对象无序、不能重复;—>注意:是通过equals方法比较对象是否相同。

HashSet:
 		按照哈希算法来存取集合中的对象,存取速度比较快;先 hashCode() &&  后 equals() 
 	同时满足这两个才被hashSet认为是同一个对象。
TreeSet:
		实现SortedSet接口,具有排序功能;自然排序(默认) : 实现了Comparable接口 ,重写  compareTo(Object o);
LinkedHashSet:
		HashSet子类,不仅实现Hash算法,还实现链表数据结构,链表数据结构能提高插入和删除元素的性能;

List : 线性方式(数组)存储.

ArrayList : 
		代表长度可变的数组。允许对元素进行快速的随机访问,但是向ArrayList
	中插入与删除元素的速度较慢;
LinkedList: 
		在实现中采用链表结构。对顺序访问进行了优化,向List中插入和删除元
	素的速度较快,随机访问速度则相对较慢。
Vector : 
		是线程安全的集合

Map :
1,把键对象和值对象进行映射的集合,它的每一个元素都包含一对键对象和值对象。
2,向Map集合中加入元素时,必须提供一对键对象和值对象. map.put(key,value);
3,从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。value = map.get(key);
4,Map集合中的键对象不允许重复,如果有多个相同的key那么上一次的值会被覆盖。

HashMap  :
 		是线程不安全的集合。判断key是否相同是通过 hashCode &&  equals方法来判断。
 HashTable:
 		是线程安全的集合。
 TreeMap  :
 		可以进行排序(对key进行排序)实现了SortedMap接口,能对 键对象(key) 进行排序。
 		
		自然排序(默认) : 
				实现了Comparable接口 ,重写  compareTo(Object o);	
		客户端排序 : 
				创建比较器--->实现java.util.Comparator接口,
			重写compare(Object x, Object y)方法。构造器传入TreeMap Eg:new TreeMap(比较器);