java集合框架collection(6)继承结构图

根据《java编程思想》里面的说法,java集合又叫容器,按照单槽和双槽分为两类,Collection和Map,这两个都是接口。
一、Collection
Collection下面又分了三个子接口,分别是Set,List和Queue,他们的特性分别是:
1.Set:元素唯一,即Set中的元素永远不可能重复,跟数学中的集合概念是一样的。它的所有实现类都有相同的特征。
主要实现类有三个:HashSet,LinkedHashSet,TreeSet
- HashSet的底层实现是HashMap中的key,因此它的特点是无序不重复;
 - LinkedHashSet底层实现是LinkedHashMap,特点是元素变得有序了。这里的有序指遍历顺序和插入顺序相同。
 - TreeSet的底层实现是TreeMap,也是有序的,这里的有序指按照元素本身的大小排序,对于Integer、String,本身已经实现了Comparable接口,所以他们是可比较的。开发者自定义的对象,需要自己实现Comparable接口,以方便程序执行元素的比较。
 
2.List:有序,List是有序可重复的,这里的有序也是只遍历顺序和插入顺序相同。最常用的实现类:
- ArrayList底层实现是数组,所以查询效率高,增删效率低;
 - LinkedList底层实现是链表,长于插入删除,查询效率低。
 
3.Queue:队列,特点是先进先出,只允许在队列前端删除,队列后端插入,常用实现类PriorityQueue.
二、Map
如果说数组和List实现了下标和元素对象的映射,那么Map就实现了对象和对象之间的映射。
主要实现类:HashMap,LinkedHashMap和TreeMap
HashMap的底层使用了哈希表,可以实现快速的查找。
LinkedHashMap最大的特点是key值有序了,遍历顺序和插入顺序相同。
TreeMap的底层是红黑树,新插入的元素会跟Map中原有元素进行比较,并插入到该插入的位置。TreeMap中对象,必须实现Comparable接口。
java集合框架collection(6)继承结构图的更多相关文章
- Java集合框架Collection
		
转自:http://www.cdtarena.com/javapx/201306/8891.html [plain] view plaincopyprint?01.在 Java2中,有一套设计优良的接 ...
 - JAVA集合框架 - Collection
		
collection大致介绍 Collection是集合层次结构中的根接口. 集合表示一组对象.有些集合允许重复元素,有些则不允许.有些是有序的,有些是无序的. JDK没有提供此接口的任何直接实现:它 ...
 - java集合框架collection(4)HashMap和Hashtable的区别
		
HashMap和Hashtable的区别 HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别.主要的区别有:线程安全性,同步(synchronizatio ...
 - java集合框架collection(5)HashMap和TreeMap
		
上图转载自:http://www.cnblogs.com/vamei/archive/2013/04/15/3000913.html 一.区别和联系 1.迭代器 迭代器是一种设计模式,它是一个对象,它 ...
 - java集合框架collection(3)Set、List和Map
		
Set.List和Map是java collection中最常用的三种数据结构. Set是集合,不允许有重复的元素,List是动态数组实现的列表,有序可重复,Map是key-value的键值对,用于快 ...
 - java集合框架collection(2)ArrayList和LinkedList
		
ArrayList是基于动态数组实现的list,而LinkedList是基于链表实现的list.所以,ArrayList拥有着数组的特性,LinkedList拥有着链表的特性. 优缺点 ArrayLi ...
 - Java集合框架Collection(1)ArrayList的三种遍历方法
		
ArrayList是java最重要的数据结构之一,日常工作中经常用到的就是ArrayList的遍历,经过总结,发现大致有三种,上代码: package com.company; import java ...
 - Java自学-集合框架 Collection
		
Java集合框架 Collection Collection是一个接口 步骤 1 : Collection Collection是 Set List Queue和 Deque的接口 Queue: 先进 ...
 - Lambda表达式和Java集合框架
		
本文github地址 前言 我们先从最熟悉的Java集合框架(Java Collections Framework, JCF)开始说起. 为引入Lambda表达式,Java8新增了java.util. ...
 
随机推荐
- mongdb aggregate 聚合数据
			
最近用到的一些mongodb的数据查询方法 及api用法 Aggregate() 数据聚合处理的方法 可以将聚合的一些方法放在其后面的括号中,也可继续以agg.的样式链式加入 aggregate.al ...
 - Modbus 通信协议详解
			
一.Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言.通过此协议,控制器相互之间.控制器经由网络(例如以太网)和其它设备之间可以通信.它已经成为一通用工业标准.有了 ...
 - 矿Spring入门Demo
			
第一步:输入Spring jar 包裹 Spring核心包(4个) 日志包(2个) jdbc模板支持(1个) spring-jdbc-3.2.0.RELEASE.jar 模板相关事务处理包(1 ...
 - PBS 作业调度应用
			
PBS(Portable Batch System),最初由 NASA 的 Ames 研究中心开发,主要为了提供一个能满足异构计算网络需要的软件包,用于灵活的批处理(Portable Batch Pr ...
 - ASP.NET Core 简介 - ASP.NET Core 基础教程 - 简单教程,简单编程
			
原文:ASP.NET Core 简介 - ASP.NET Core 基础教程 - 简单教程,简单编程 ← ASP.NET Core 基础教程 ASP.NET Core Windows 环境配置 → A ...
 - WPF 走马灯 文字滚动 自定义控件
			
原文:WPF 走马灯 文字滚动 自定义控件 /// <summary> /// Label走马灯自定义控件 /// </summary> [ToolboxBitmap(type ...
 - SQList3  and SQL入门学习笔记
			
SQL 这是一个标准的计算机语言进行访问和操作数据库. 什么是 SQL? · SQL 指结构化查询语言 · SQL 使我们有能力訪问数据库 · SQL 是一种 AN ...
 - POJ3723 Conscription 【并检查集合】
			
Conscription Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8071 Accepted: 2810 Desc ...
 - rc-form(翻译)
			
原地址:https://npm.taobao.org/package/rc-form rc-form React 高阶表单控制组件. 开发 npm install npm start op ...
 - WPF X:Shared概述 - CSDN博客
			
原文:WPF X:Shared概述 - CSDN博客 一.含义 X:Shared用于指定请求资源时创建实例的两种方式. X:Shared = "true"(默认):表示所有请求都是 ...