Java集合的接口和类层次结构图

jopen 10年前

1. Collection vs Collections

首先, "Collection" 和  "Collections" 是两种不同的概念。你可以从以下层次结构图看到,"Collection" 是集合层次中是上面的root接口,而 "Collections" 是一个类,它提供一些静态方法来操作一些集合类型。

Java集合的接口和类层次结构图

2. Class hierarchy of Collection

下图展示了类层次结构

Java集合的接口和类层次结构图

3. Class hierarchy of Map

以下是Map的类层次结构.

Java集合的接口和类层次结构图

4. Summary of classes

Java集合的接口和类层次结构图

5. 代码示例

下面是一个简单的例子来说明一些集合类型:

List<String> a1 = new ArrayList<String>();  a1.add("Program");  a1.add("Creek");  a1.add("Java");  a1.add("Java");  System.out.println("ArrayList Elements");  System.out.print("\t" + a1 + "\n");     List<String> l1 = new LinkedList<String>();  l1.add("Program");  l1.add("Creek");  l1.add("Java");  l1.add("Java");  System.out.println("LinkedList Elements");  System.out.print("\t" + l1 + "\n");     Set<String> s1 = new HashSet<String>(); // or new TreeSet() will order the elements;  s1.add("Program");  s1.add("Creek");  s1.add("Java");  s1.add("Java");  s1.add("tutorial");  System.out.println("Set Elements");  System.out.print("\t" + s1 + "\n");     Map<String, String> m1 = new HashMap<String, String>(); // or new TreeMap() will order based on keys  m1.put("Windows", "2000");  m1.put("Windows", "XP");  m1.put("Language", "Java");  m1.put("Website", "programcreek.com");  System.out.println("Map Elements");  System.out.print("\t" + m1);

输出:

ArrayList Elements   [Program, Creek, Java, Java]  LinkedList Elements   [Program, Creek, Java, Java]  Set Elements   [tutorial, Creek, Program, Java]  Map Elements   {Windows=XP, Website=programcreek.com, Language=Java}