Collections<E>
-----------List : 存入的对象是有序的且可以重复的
------ArrayList :底层使用的数据结构是数组,线程不安全的,查找快,增删慢
------Vector :与ArrayList相同,但是是线程安全的,目前已被ArrayList替代了
------LinkedList :底层使用的数据结构是链表,线程不安全的,查找慢,增删快
-----------Set :存入的对象时无序的,且不可以重复的
------HashSet :底层使用的数据结构是哈希表,线程不安全的,保证对象唯一的原理是先判断hashcode()再用equals()
------TreeSet:底层使用的是二叉树,线程不安全的,会对存入的对象进行排序,保证对象唯一性的原理是compareto()
返回值是否为0
排序方式:1、集合中所属的类实现了Comparable接口中的int comapreto()方法
2、自定义一种排序方式,实现接口comparator中的compare()方法
当存在自定义的比较方式时,这种的方式优先。
Map<K,V> :一个单独的接口,存储的是键值对,键不可以重复,无序的
-------HashMap<K,V>:底层使用的数据结构是哈希表,线程不安全的,保证对象唯一的原理是先判断hashcode()再用equals()
它的put(key,value)方法返回的是上一次添加的相同键的值,键是不能重复的,若重复了,则后添加的
会覆盖之前添加的
--------TreeMap<K,V>:底层使用的是二叉树,线程不安全的,是根据键排序的,保证键唯一的原理是compareto()或compare()
方法返回值是否为0