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

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对应队列操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值