《thinking in java》学习笔记11

来源:互联网 发布:fm球员数据库 编辑:程序博客网 时间:2024/04/29 20:55
持有对象

集合类:List,Set,Queue,Map

泛型和类型安全的容器
  • ArrayList:用add()添加对象,用get(index)获取对象,index为索引,使用size()获得对象个数
  • 如果一个类没有显式的声明继承自那个类,那么自动继承自Object
  • <类型参数>,类型参数可以有多个,指定了容器实例可以保存的类型,可以在编译器反之将错误类型的对象放置到容器中
  • foreach语法可以遍历List

基本概念
  • 容器类用于保存对象,并分为Collection(独立元素的序列),Map(成对的键-值对 对象)
  • foreach可以遍历所有的Collection

List
  • List承诺将元素维护在特定的序列
  • ArrayList长于随机访问,但是插入和移除元素较慢
  • LinkedList提供了优化的顺序访问,插入删除代价小
  • List的行为根据equals而有变化,包括removeAll()

迭代器
  • Iterator迭代器是一个对象,他的工作室便利并选择序列中的对象,而客户端程序员不需要知道序列的底层结构。应用了迭代器设计模式
  • java的Iterator只能单向移动,而且只能用来:
  1. 使用方法iterator()要求容器返回一个iterator对象,该对象准备好返回序列的第一个元素
  2. 使用next()方法获得下一个元素
  3. 使用hasNext()方法检查是否还有元素
  4. 使用remove()方法将迭代器新近返回的元素从容器中删除

Set
  • set不保存重复的元素
  • set与Collection有完全一样的接口
  • HashSet对快速查找进行了优化

Map
  • Map和collection一样可以扩展到多维

Queue
  • 队列是一个先进先出的容器(FIFO==first in first out)
  • 队列用于将对象从程序某个区域传送到另一个区域的安全途径

Collection与Iterator
  • Collection是描述所有序列容器的共性的跟接口

Froeach与迭代器
  • Iterable接口包含了一个能产生迭代器的iterator方法,这个接口被foreach用来在序列中移动。所以实现了Iterable的类都可以用于froeach

总结:
《thinking <wbr>in <wbr>java》学习笔记11


0 0