集合类层次结构关系
2016-02-24 16:28
190 查看
1. Collections(工具类) 和 Collection(集合顶层接口) 的区别
首先, “Collection” 和 “Collections” 是两个不同的概念. 从下面几幅图可知,“Collection”是集合继承结构中的顶层接口,而 “Collections” 是提供了对集合进行操作的强大方法的工具类.
图1
2. Collection继承结构
下图展示了集合类的层次结构关系:
图2
3. Map 类层次结构
下图是Map的类层次结构:
图3
4. 相关类汇总
通用实现类
5. 示例代码
下面是说明一些集合类型的简单示例:
[java] view plain copy
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);
}
}
输出结果:
[plain] view plain copy
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} 对象的输出方式
首先, “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 |
下面是说明一些集合类型的简单示例:
[java] view plain copy
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);
}
}
输出结果:
[plain] view plain copy
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} 对象的输出方式
相关文章推荐
- Your build settings specify a provisioning profile with the UUID “”, however...
- 以代码实例总结iOS应用开发中数据的存储方式
- 【webservice】配置webservice所需的maven坐标
- android-圆形按钮的实现+++流式布局——FlowLayout
- URLClassLoader使用方法及事例程序
- 动态注册监听广播
- LeetCode || Move Zeroes
- centos6.5 git服务器ssh登录免密码
- HashMap实现原理
- 微信訪问页面,莫名其妙刷新两次,火狐、谷歌、ie无问题
- UVA 10627 - Infinite Race(数论)
- Trees on the level(指针法和非指针法构造二叉树)
- 大数据量高并发的数据库优化
- Tornado使用
- linux下手动安装apache详解
- Yum中实现与apt-get install build-essential功能类似的命令
- MySql避免重复插入记录的几种方法
- Android DiskLruCache完全解析,硬盘缓存的最佳方案
- js框架说明
- oracle数据文件被删除没备份恢复