Collections(工具类) 和 Collection(集合顶层接口) 的区别
首先, “Collection” 和 “Collections” 是两个不同的概念. 从下面几幅图可知,“Collection”是集合继承结构中的顶层接口,而 “Collections” 是提供了对集合进行操作的强大方法的工具类.
Collection继承结构
下图展示了集合类的层次结构关系:
Map 类层次结构
相关类汇总
code example:
- 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}
原文:
https://www.programcreek.com/2009/02/the-interface-and-class-hierarchy-for-collections/