集合类的接口和类层级结构图及示例程序

1. Collection和Collections

    首先,我们要清楚”Collection“和”Collections“是两个不同的概念。你可以从下面的层次结构图中看出,”Collection“是Collection层次结构中的根级接口,而”Collections“只是提供一些静态方法的类,这些方法是用于操作一些Collection类型的数据的。


2. Collection的类层次结构

    下图展示了Collection的类层次结构。


3. Map的类层次结构

    下图是Map的类层次结构。


4. 相关类总结

通用实现
InterfaceHash tableResizable arrayTreeLinked ListHash table + Linked List
SetHashSet TreeSet LinkedHashSet
List ArrayList LinkedList 
Queue     
MapHashMap TreeMap LinkedHashMap

5. 代码示例

import java.util.*;
 
public class Main {
 
	public static void main(String[] args) {
		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}

原文地址:The interface and class hierarchy diagram for collections with an example program