集合类层次结构关系

1. Collections(工具类) 和 Collection(集合顶层接口) 的区别
首先, “Collection” 和 “Collections” 是两个不同的概念. 从下面几幅图可知,“Collection”是集合继承结构中的顶层接口,而 “Collections” 是提供了对集合进行操作的强大方法的工具类.

图1

2. Collection继承结构
下图展示了集合类的层次结构关系:

图2

3. Map 类层次结构
下图是Map的类层次结构:

图3

4. 相关类汇总

通用实现类
接口哈希表可变数组链表List哈希表+链表
Set HashSet   TreeSet   LinkedHashSet
List   ArrayList   LinkedList  
Queue          
Map HashMap   TreeMap   LinkedHashMap

5. 示例代码
下面是说明一些集合类型的简单示例:

  1. import java.util.*;  
  2.    
  3. public class Main {  
  4.    
  5.     public static void main(String[] args) {  
  6.         List<String> a1 = new ArrayList<String>();  
  7.         a1.add("Program");  
  8.         a1.add("Creek");  
  9.         a1.add("Java");  
  10.         a1.add("Java");  
  11.         System.out.println("ArrayList Elements");  
  12.         System.out.print(" " + a1 + " ");  
  13.    
  14.         List<String> l1 = new LinkedList<String>();  
  15.         l1.add("Program");  
  16.         l1.add("Creek");  
  17.         l1.add("Java");  
  18.         l1.add("Java");  
  19.         System.out.println("LinkedList Elements");  
  20.         System.out.print(" " + l1 + " ");  
  21.    
  22.         Set<String> s1 = new HashSet<String>(); // or new TreeSet() will order the elements;  
  23.         s1.add("Program");  
  24.         s1.add("Creek");  
  25.         s1.add("Java");  
  26.         s1.add("Java");  
  27.         s1.add("tutorial");  
  28.         System.out.println("Set Elements");  
  29.         System.out.print(" " + s1 + " ");  
  30.    
  31.         Map<String, String> m1 = new HashMap<String, String>(); // or new TreeMap() will order based on keys  
  32.         m1.put("Windows", "2000");  
  33.         m1.put("Windows", "XP");  
  34.         m1.put("Language", "Java");  
  35.         m1.put("Website", "programcreek.com");  
  36.         System.out.println("Map Elements");  
  37.         System.out.print(" " + m1);  
  38.     }  
  39. }  

输出结果:

    1. ArrayList Elements  
    2.     [Program, Creek, Java, Java]  
    3. LinkedList Elements  
    4.     [Program, Creek, Java, Java]  
    5. Set Elements  
    6.     [tutorial, Creek, Program, Java]     数组的输出方式
    7. Map Elements  
    8.     {Windows=XP, Website=programcreek.com, Language=Java}   对象的输出方式
原文地址:https://www.cnblogs.com/toSeeMyDream/p/5213442.html