Java语言基础学习笔记(七)

本文深入探讨Java集合框架的基础数据结构实现,重点介绍了Collection接口及其实现类如Set、List等的特点与应用场景。针对不同需求推荐合适的数据结构选择,并强调了在处理集合时应遵循的最佳实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Java集合类框架提供了基本数据结构的实现,Collection是最基本的接口。

2. 在Set中,元素不会被插入到特定的位置,并且不允许重复的元素。SortedSet允许按顺序迭代,NavigableSet含有寻找元素邻居的方法。

3. 当你实现一个处理集合的方法时,使用限制最少的接口作为参数类型。通常Collection,List,Map就足够了。

4. remove方法移除了迭代器返回的最后一个一个元素,并不是迭代器指向的元素,在中间没有调用next或者previous时,不能连续两次调用remove方法。

5. 如果你用多个迭代器访问同一个数据结构,并且其中一个使数据结构发生改变,那么其他的迭代器可能会失效,一个无效的迭代器被访问的话,会抛出CocurrentModificationException。

6. HashSet和TreeSet都实现了Set接口,如果你为元素提供了很好的hash函数,则HashSet效率更高。Java类库中的String,Path都提供了很好的hash函数。如果你想按顺序便利集合,则可以使用TreeSet。

7. TreeSet实现了SortedSet和NavigableSet接口。

8. Map获取键值的方法中,getOrDefault比get方法的好处在于:处理值为null的拆箱时,不会导致NullPointerException

9. Map的merge方法简化了计数器累加的问题。

10. 通过keySet,values,entrySet方法可以获得Map中的键,值和记录的试图。

11. 迭代Map中所有记录,可以遍历entrySet返回的Set或者直接使用ForEach

12. 需要栈时,不要使用Java遗留的Stack类,应该使用ArrayDeque,push/pop对应栈操作,add/remove对应队列操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值