java集合类详解(一)
来源:互联网 发布:华硕主板设置网络启动 编辑:程序博客网 时间:2024/06/03 12:19
最近一直想去总结java集合类,但是网上的一些资料,总是没有显示全真正的java集合类,今天凑巧在网上看到这么一张图:
点击放大图片
那么我们为什么要引入集合这个概念?
在集合之前,当我们处理数据时,需要使用数组:
1.固定的大小,或不可能增长太多
2.同一个数组只能存放类型一样的数据(基本类型/引用类型)
3.你会做大量的索引,即你知道你会经常想要第三个元素,或第五,或任何。
所以我们才有了集合,我们不再担心以上数组出现的问题。
我们不难发现,java集合类总共分为两大类:Map和Collection.
处于图片左上角的那一块灰色里面的四个类(Dictionary、HashTable、Vector、Stack)都是线程安全的,但是它们都是 JDK的老的遗留类,现在基本都不怎么使用了,都有了对应的取代类。其中Map是用来代替图片中左上角的那个Dictionary抽象类(Map的官方文 档里面有说明)。官方推荐使用Map接口来代替它。同样对于HashTable,官方推荐ConcurrentHashMap来代替。接着下面的Vector是List下面的一个实现类。
接着最上面的粉红色部分是集合类所有接口关系图。其中Map的结构比较简单,而Collection的结构就相对复杂一些。Collection有三个继承接口:List、Queue和Set。
接下来的绿色部分则是集合类的主要实现类了。这也是我们最经常使用的集合类了。
按照实现接口分类:
实现Map接口的有:EnumMap、IdentityHashMap、HashMap、LinkedHashMap、WeakHashMap、TreeMap
实现List接口的有:ArrayList、LinkedList
实现Set接口的有:HashSet、LinkedHashSet、TreeSet
实现Queue接口的有:PriorityQueue、LinkedList、ArrayQueue
最下方的一个整块都是java.util.concurrent包里面的类,按照包名我们就可以知道这个包里面的类都是用来处理Java编程中各种并发场景的。
下一篇,则会从底层实现来分析常用的集合类。
- java集合类详解(一)
- java集合类详解(一)
- Java基础集合类(一):ArrayList详解
- java集合框架详解(一)
- Java集合详解(一):Collection
- java-集合类(一)
- Java 集合详解 一、Collection详解
- JAVA【集合一】集合类
- Java集合:集合类详解
- Java基础之集合框架详解(一)
- java集合类 一
- JAVA 集合类一
- Java集合类详解
- Java集合类详解
- Java集合类详解
- Java集合类详解
- JAVA集合类详解
- Java集合类详解
- 网易一面面试题 java
- 24 遍历一个整数
- javascript转换日期字符串
- Three.js快速入门
- 文件描述符和文件表项
- java集合类详解(一)
- 方向梯度直方图(HOG)---转自维基百科
- HTTP状态码响应参数返回值
- dp,px,sp相互转换
- 深入学习百度地图Android SDK v4.0.0【第五关】瓦片图层
- asp.net的mvc表单到控制器
- java工程在linux服务器上部署需要的命令
- MAC上的vimrc
- SQL分组取每组前一(或几)条记录(排名)