Java编程思想(第十一章持有对象)学习笔记

第十一章:持有对象

一、对象容器持有对象
  1. Collection:利用泛型存储单一类型,不用泛型存储Object
  2. Map:键值对形式
二、迭代器:实现容器之间所有共性的基石
  1. Java中默认的迭代器Iterator只能单向移动,Collection接口继承自Iterable接口,该接口中只有一个iterator()方法用于生成迭代器(拥有hasNext、next,remove方法)。
  2. 通过创建匿名内部类Iterable来自定义Iterator中的方法,结合foreach使用,实现自定义的容器遍历规则。
三、特别介绍LinkedList
  1. 该类可以模拟Stack与Queue的操作
  2. java设计者将Stack继承自LinkedList,这样会导致很多冗余方法,存在设计缺陷(书中注明后续会继续讨论)。
  3. 而LinkedList是实现Queue接口的,这样方便我们在只需要单一的队列时,对象结构更为清晰。
  4. 对于Queue队列,它在并发编程中会大放异彩。
  5. PriorityQueue优先级队列可以通过自定义的Comparator方法进行对象排序,决定对象的出队顺序。
四、Set
  1. HashSet使用了散列,出于速度原因考虑。
  2. TreeSet使用红黑树,有序的集合(默认字典序-区分大小写字母),通过String.CASE_INSENSITIVE_ORDER修改为字母序。
  3. LinkedHashSet也使用了散列。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值