泛型
,向上转型适用于泛型
数组
,将数字与对象联系起来,容量不可改变
Java容器类
Collection
,一个独立元素的排列
List 按插入顺序保存元素,建立数字索引与对象的关联,能自动扩容
Set 元素不可重复,HashSet用于快速访问,TreeSet键有序
Queue 按照排队规则来确定对象产生的顺序,(通常与插入顺序相同)
Map
,一组成对的“键值对”对象,使用键来查找值
映射表允许使用一个对象查找某个对象,也被称为“关联数组”或“字典”
HashMap用于快速访问,TreeMap键有序
Queue与Stack的行为由LinkedList提供支持
Arrays.asList()产生固定类型的数组
List<Snow> list3 = Arrays.
<Snow>
asList(new Powder2(),new Powder1()); 显示类型说明
List
方法: add() get() contains() remove() equals() subList() retainAll() set() isEmpty() clear() AddAll() toArray()
ArrayList长于随机访问元素
LinkedList提供了优化的顺序访问
迭代器
Iterator 只能单向移动
iterator() 方法返回一个Iterator,next() 获取下一个元素,hasNext() 检查是否有下一个,remove() 删除最近返回的元素。
ListIterator只能用于各种List类的访问,可以双向移动
foreach 可以用于数组、Iterable和Collection对象,
但数组arr不是Iterable对象,必须Arrays.asList(arr)
Stack
栈 LIFO 后进先出 push()入栈 pop()出栈并返回栈顶元素 peek()返回栈顶元素
Set不重复 HashSet使用散列存储 TreeSet使用红黑树,有序.
Map可以返回它的键的Set集,它的值的Collection集,打的键值对的Set集
keySet()方法产生所有键组成的Set,在foreach中用来遍历。
Queue
队列 FIFO 先进先出
offer() 在允许的情况下,将一个元素插入队尾
peek() 返回队首,队列空返回null
element() 返回队首,队列空抛出异常
poll() 移除并返回队首,队列空返回null
remove() 移除并返回队首,队列空抛出异常
PriorityQueue优先队列(优先级)
适配器模式 当你有一个接口并需要另一个接口时
Iterable类实现Iterator方法