Collection:包括list和set。
集合和数组的区别:
集合只能存储引用类型,数组可以存储引用类型也可以存储基本类型。
集合的长度不固定,数组长度是固定的。
数组存储的元素必须是同一类型的,而集合存储的对象可以是不同类型的,但这样意义并不大。
list:有序,元素不唯一。set:无序,元素唯一。
list 包括ArrayList,Vector和LinkedList
ArrayList 底层是由数组实现的,查询快增删慢,线路不安全,效率高。
Vector 底层是由数组实现的,线程安全。效率低,增删慢查询也慢。
LinkedList 底层数据结构是链表,线程不安全,效率高,增删快,查询慢。
list 由于有序,给每一个元素编号是可以实现的,所以根据索引找元素(get(int index)),indexOf(Object obj)等跟索引有关的方法是它所独有的。
遍历方式:
普通for 利用get(int index)方法
变成集合 toArray()
增强for
迭代器Iterator :
根据方法hasNext()判断是否还有下一个元素,方法next()帮主获取元素,方法remove()在迭代过程可以删除元素。不能添加,强行用集合添加会引发并发修改异常。
list列表迭代器 ListIterator 里面不仅有增还有删,可以通过列表迭代器对集合进行各种操作(增删改查)。
|
|