Set集合 元素无序 (元素存取顺序不一致),元素不重复.Set集合保证元素的唯一性是靠重写HashCode()方法和equals()方法. SetHashSet,LinkedHashSet,Treeset HashSet: 此类实现Set接口,由哈希表(实际是是一个HsahMap实列)支持它不保证Set的迭代顺序;特别是他不保证该顺序恒久不变.此类允许使用null元素.底层的数据结构是哈希表,线程不安全,效率高,允许存储null元素,元素无序且唯一. 唯一性:是要靠元素重写HashCode()和equals()方法,如果不重写则无法保证元素唯一. LinkedHashSet:元素有序且唯一 具有可预知的迭代顺序Set接口的哈希表和链接列表实现.线程不安全,效率高. 底层数据结构是链表和哈希表 链表保证的元素有序,哈希表保证的元素唯一 TreeSet:元素唯一,且能对元素进行排序线程不安全,效率高 底层数据结构是二叉树. 使用元素的自然顺序对元素进行排序,或者根据创建Set时提供的Comparator进行排序,具体取决于使用的构造方法. Collections public static <T> void sort(List<T> list) : 指定列表为升序排序,根据其元素的 natural ordering public static <T> int binarySearch(List<?> list,T key): 使用二进制搜索算法搜索指定对象的指定列表。 public static <T> T max(Collection<?> coll) 返回最大值 public static void reverse(List<?> list) 反转指定列表中元素的顺序。 public static void shuffle(List<?> list) 打乱元素顺序 public static <T> void sort(List<T> list) : 指定列表为升序排序,根据其元素的 natural ordering。
public static <T> void sort(List<T> list, Comparator<T> c) 根据指定的比较器指定的顺序对指定的列表进行排序。

接口Map<k,v> 类型参数 k-此映射所维护的键的类型 v-映射值的类型 将键映射 到对象.一个映射不能包含重复的键;每个键最多只能映射到一个值. HashMap,Hashtable,LinkedHashMap,TreeMap(双列集合) HashMap: 基于哈希表的map接口的实现. 此实现所提供的所有可选的映射操作,并允许使用null值和null键.(除了非同步和允许使用null之外,HashMap类与Hashtable大致相同.)此类不保证映射的顺序,特别是它不保证该顺序恒久不变.Map集合所有的数据结构,只跟键有关. HashMap:是线程不安全,效率高,支持null只和null键 Hashtable:是线程安全,效率低,不支持null只和null键 LinkedHashMap: Map接口的哈希表和链接列表实现,具有可预知的迭代顺序 特点:底层的数据结构是由哈希表和链表 元素有序 并且唯一元素的有序性由链表数据结构保证 唯一性由哈希表数据结构保证; Map集合的数据结构只和键有关 TreeMap:数据结构是二叉树可以对键排序,不允许null键线程不安全效率高. Map方法: public V put(K key, V value): 给集合中添加元素 public void clear(): 从这个映射中移除所有的映射(可选操作)。 public V remove(Object key): 如果存在(可选操作),则从该Map中移除一个键的映射 public boolean containsKey(Object key): 返回 true如果这Map包含一个指定的键映射 public boolean containsValue(Object value): 返回 true如果映射到指定的值的一个或多个键 public boolean isEmpty(): 返回 true如果这个Map不包含键值的映射。 public Set<Map.Entry<K,V>> entrySet(): 返回一个 Set视图的映射包含在这个Map public V get(Object key): 返回指定的键映射的值,或 null如果这个Map不包含的键映射 public Set<K> keySet() : 返回一个 Set的关键视图包含在这个Map public Collection<V> values(): 返回一个视图的值包含在这个Map。 public int size(): 返回这个映射中的键值映射的数目。