集合类层次结构关系

翻译人员: 铁锚
翻译时间: 2013年11月15日
原文链接: The interface and class hierarchy diagram for collections with an example program

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>(); // 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}

相关文章:

  1. java io class hierarchy diagram
  2. Top 10 questions about Java Collections
  3. Java 异常类层次结构
  4. Operating System Concepts Hierarchy Diagram

©️2020 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值