《Java编程十五讲》第十四讲:Java里提供的常用数据容器框架三

18 篇文章 42 订阅 ¥9.90 ¥99.00
本文深入介绍了Java集合框架中的容器,包括ArrayList、HashSet、HashMap以及Queue、Deque、TreeSet、TreeMap等。讲解了Collection和Map的区别,泛型在容器中的应用,以及List与LinkedList的选择。此外,文章探讨了排序、查找和替换的操作,如Collections工具类的使用。还讨论了Java中的流(Stream)操作,包括Intermediate和Terminal操作,并对比了流操作与数据库操作的相似性。最后,文章强调了并发控制的重要性,分析了ConcurrentHashMap的实现原理和优势,以及Java内存模型JMM对并发的影响。
摘要由CSDN通过智能技术生成

#第十五讲 容器框架三

我们到此已经把ArrayList、HashSet和HashMap讲过了。JDK里面还有一些实现,如Queue、Deque、TreeSet、TreeMap等,我就不一一讲了。现在回顾一下。

Collection保存单一的元素,而Map把保存键值对。用泛型技术,就可以将制订类型的对象放到容器中,不会出现类型错误的元素,取出来的时候也不需要再进行类型转换。

Collection和Map都不定长,向里面添加更多元素的时候,会自动调整容量。

跟数组一样,List维持位置索引和对象的关联,因此是由确定次序的容器。

如果进行大量的随机访问,使用ArrayList,如果经常增删改数据,应该用LinkedList。

各种Queue和栈,底层用的是LinkedList。

HashMap设计用来快速访问,而TreeMap保持键值处于排序状态,所以也没有HashMap快。LinkedHashMap保持元素插入的顺序。

Set的元素不可重复。HashSet访问速度快。TreeSet保持元素处于有序的状态。LinkedHashSet保持元素插入的顺序。

带tree的类能排序,通过comparable接口给定对象自然排序或者Comparator<T>接口自定义对象的次序关系。

Vector、Stack、Hashtable是历史遗留下来的类,新程序不要使用。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值