Java中“集合”是什么意思?集合类的“集合”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中“集合”是什么意思?集合类的“集合”相关的知识,希望对你有一定的参考价值。

在java语言提供的工具类里,一般集合指的是实现了Collection接口的类。

主要是Set、List、Queue

Collection接口方法如下

实现Collection接口的HashSet

实现Collection接口的ArrayList

实现Collection接口的PriorityQueue

另外还有就是实现Map接口的映射集合,HashMap、TreeMap......

Map接口的TreeMap

当然 还有很多很多,就不一一举例了。

另外如果你愿意完全可以定义自己的集合,说白了不就是按照自己的逻辑把对象放在一起么~~~一般实现存、取、排序 就OK了。

参考技术A 集合类存放于java.util包中。
集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用(reference)。
集合类型主要有3种:set(集)、list(列表)和map(映射)。
集合接口分为:Collection和Map,list、set实现了Collection接口。本回答被提问者采纳

Java集合类的总结

现在关于Java集合类的文章很多,但是我最近看到一个很有意思图片,基本上把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


根据底层实现的数据结构分类:

底层以数组的形式实现:EnumMap、ArrayList、ArrayQueue
底层以链表的形式实现:LinkedHashSet、LinkedList、LinkedHashMap
底层以hash table的形式实现:HashMap、HashSet、LinkedHashMap、LinkedHashSet、WeakHashMap、IdentityHashMap
底层以红黑树的形式实现:TreeMap、TreeSet
底层以二叉堆的形式实现:PriorityQueue


最下方的一个整块都是java.util.concurrent包里面的类,按照包名我们就可以知道这个包里面的类都是用来处理Java编程中各种并发场景的。


下篇预告:对中间的常用集合类(绿色部分的常用实现类)进行一个更加详细的解读。

工具推荐:http://grepcode.com/。阅读代码神器。这个源码阅读站点不但包含了绝大部分的Java类库源码,而且对源码中间的注释、跳转等做了很好的优化,有了它,保证你的源码阅读效率大大提升。

原图出处:http://pierrchen.blogspot.com/2014/03/java-collections-framework-cheat-sheet.html














以上是关于Java中“集合”是什么意思?集合类的“集合”的主要内容,如果未能解决你的问题,请参考以下文章

Java集合类的总结

JAVA中List集合的汉字排序

java 里的 Collection接口有啥作用

java集合是啥?

Java集合类——2017.08.05

java中 List 与Set 有啥区别?