菜鸟的进阶之路:Java集合框架

温馨提示

如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请关注我。

菜鸟的进阶之路:Java集合框架
小菜鸟
菜鸟的进阶之路:Java集合框架
大菜鸟。Java中的集合框架有哪些?
在java.util 包里,包含了 Collection、List、Set、Map、SortedMap 等接口这些接口的实现类有 LinkedList、TreeSet、ArrayList、HashMap 等。除了这些数据结构,java.util 包还提供了 Date、GregorianCalender、StringTokenizer、Random 这样的工具类。
菜鸟的进阶之路:Java集合框架
菜鸟的进阶之路:Java集合框架
大菜鸟
菜鸟的进阶之路:Java集合框架
小菜鸟
菜鸟的进阶之路:Java集合框架
那他们是怎么分类的呢?

    分类的话你可以看下面的分类图菜鸟的进阶之路:Java集合框架

(源网络,侵删)

菜鸟的进阶之路:Java集合框架
菜鸟的进阶之路:Java集合框架
大菜鸟
接口:Collection、List、Map 组成了集合框架中所有具体实现类的接口,它们定义了子类必须实现的方法,非常好记。比如向集合添加元素,会用到 Collection 中定义的 add() 方法
菜鸟的进阶之路:Java集合框架
菜鸟的进阶之路:Java集合框架
大菜鸟
实现:所有实现了上述3个接口的类,都被称作集合框架,实际上就是数据结构。比如 LinkedList、TreeSet 等
菜鸟的进阶之路:Java集合框架
菜鸟的进阶之路:Java集合框架
大菜鸟
算法:集合框架提供了很多可以直接调用的算法,比如求最大最小值、排序、填充等
菜鸟的进阶之路:Java集合框架
菜鸟的进阶之路:Java集合框架
大菜鸟
菜鸟的进阶之路:Java集合框架
小菜鸟
菜鸟的进阶之路:Java集合框架
懂了,那他们有什么优缺点吗?
常用的几个集合的话有

ArrayList底层数据结构是数组,查询快,增删慢线程不安全,效率高

Vector底层数据结构是数组,查询快,增删慢线程安全,效率低LinkedList

底层数据结构是链表,查询慢,增删快线程不安全,效率高HashSet底层数据结构是哈希表。

哈希表依赖两个方法:hashCode()和equals()执行顺序:首先判断hashCode()值是否相同是:继续执行equals(),看其返回值是true:说明元素重复,不添加是false:就直接添加到集合否:就直接添加到集合

菜鸟的进阶之路:Java集合框架
菜鸟的进阶之路:Java集合框架
大菜鸟

HashMap

底层数据结构是哈希表。线程不安全,效率高

哈希表依赖两个方法:hashCode()和equals()执行顺序:首先判断hashCode()值是否相同是:继续执行equals(),看其返回值是true:说元素重复,不添加是false:就直接添加到集合否:就直接添加到集合最终:自动生成hashCode()和equals()即可LinkedHashMap

底层数据结构由链表和哈希表组成。由链表证元素有序。由哈希表保证元素唯一。Hashtable底层数据结构是哈希表。线程安全,效率低

哈希表依赖两个方法:hashCode()和equals()执行顺序:首先判断hashCode()值是否相同

是:继续执行equals(),看其返回值是true:说明元素重复,不添加是false:就直接添加到集合

否:就直接添加到集合

菜鸟的进阶之路:Java集合框架
菜鸟的进阶之路:Java集合框架
大菜鸟
菜鸟的进阶之路:Java集合框架
小菜鸟
菜鸟的进阶之路:Java集合框架
原来有这么多区别啊,学到了。
其实还有更多更多呢。这个是体系图菜鸟的进阶之路:Java集合框架
菜鸟的进阶之路:Java集合框架
菜鸟的进阶之路:Java集合框架
大菜鸟
菜鸟的进阶之路:Java集合框架
小菜鸟
菜鸟的进阶之路:Java集合框架
OK
记得点击再看,或者关注公众号哦。
菜鸟的进阶之路:Java集合框架
菜鸟的进阶之路:Java集合框架
大菜鸟

1

我会以聊天的方式讲解技术,目前刚刚开始很多场景都想不到如何去实现,如何写出来。我会慢慢努力的。争取做到。有趣易懂的优质文章。

另外送给大家一套学习资料。公众号内回复“资源”领取

如果你支持就请点击再看 或者转发。谢谢

推荐阅读

简单的JSON格式化工具介绍
SpringBoot整合Shiro(一)Shiro介绍
简单了解悲观锁乐观锁
你真的会写JAVA的单例模式吗?
菜鸟的进阶之路:Java集合框架

乱敲代码

BY NEWRANK.CN

长按二维码关注我们吧