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. 示例代码
下面是说明一些集合类型的简单示例:
- 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>();
- 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>();
- 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} 对象的输出方式
集合类层次结构关系
原文:http://www.cnblogs.com/toSeeMyDream/p/5213442.html