java集合工具包包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*;其总体框架图如下所示:
一个有序且有索引的容器,允许重复值的出现。
一个无序的唯一对象的容器,不允许重复值出现。
一个基于键值对以及哈希的数据结构,不允许相同的键值出现。
List 允许,Set 不允许,而Map中键对象必须唯一。
List 有序,Set 无序,而Map也没有规定顺序。
某些 Set 实现比如 LinkedHashSet 还是保持了每个元素的插入顺序。此外 SortedSet 的实现 TreeSet , SortedMap的实现 TreeMap 也通过 Comparator 或者 Comparable 维护了一个排序顺序。List允许多个null值,Set允许一个null值,Map可以有多个null值和最多一个null键。
Hashtable 既不允许 null 键也不允许 null 值。都是Java中用于实现对象的比较、排序的接口。
//Comparablepublic class Student implements Comparable{public int compareTo(Student another) {}}Collections.sort( studentList )//Comparatorpublic class Student{}class StudentComparator implements Comparator { public int compare(Student one, Student another) {}}Collections.sort( studentList , new StudentComparator());脑图地址: http://www.xmind.net/m/UPWK
参考: Difference between Set, List and Map in Java - Interview question Java集合干货系列-集合总体大纲
新闻热点
疑难解答