一、Collection集合类
1、集合是存储对象数据的集合容器。
2、集合比对象的优势:
1、集合可以存储任意类型的对象数据,数组只能存储同一种数据类型的数据。
2、集合的长度是会发生变化的,数组的长度是固定的。
3、Collection单例集合的根接口List如果是实现了List接口的集合类,具备的特点:有序、可重复Set如果是实现了Set接口的集合类,具备特点:无序,不可重复
4、Collection接口中的方法:
增加
add(E e) 添加一个元素。添加成功返回true,添加 失败返回false.
addAll(Collection c) 把一个集合 的元素添加到另外一个集合中去。
删除
clear() 清空集合中的元素
remove(Object o) 指定集合中的元素删除,成功返回true,失败返回false
removeAll(Collection c) 删除此集合于c集合的交集元素
retainAll(Collection c) 保留刺激 和与c集合的交集元素查看
size() 查看并返回元素的个数。
判断
isEmpty() 判断集合是否为空,返回boolean
contains(Object o) 判断集合中是否存在指定的元素,返回boolean其实内部是以来equals方法进行比较的
containsAll(Collection<?> c) 判断c集合是否为此集合的子集
迭代
toArray() 把集合中的所有元素存储到一个Object的数组中返回
iterator() 迭代器:用来抓取集合中的元素
二、List接口
1、List接口的特点:有序,可重复
2、List接口中特有方法:
添加
add(int index, E element)
addAll(int index, Collection<? extends E> c)
获取:
get(int index)
indexOf(Object o)
lastIndexOf(Object o)
subList(int fromIndex, int toIndex)
修改:
set(int index, E element)
迭代
listIterator()返回的是List接口中特有的迭代器
3、List接口中特有的方法,都与索引值有关。
三、ListIterator接口
ListIterator特有的方法:
hasPrevious() 判断是否存在上一个元素。
previous() 当前指针先向上移动一个单位,然后再取出当前指针指向的元素。
next(); 先取出当前指针指向的元素,然后指针向下移动一个单位。
add(E e) 把当前有元素插入到当前指针指向的位置上。
set(E e) 替换迭代器最后一次返回的元素。
四、ArrayList
ArrayList的特点:ArrayList底层维护了一个Object数组,所以查询速度快,增删速度慢。
应用场景:查询比较多,增删比较少的时候,比如高校的图书馆。
五、LinkedList
LinkedList底层使用了链表,查找速度慢。
增删速度块Linkedlist特有的方法:
方法介绍
addFirst(E e) 把元素放到集合的首位置
addLast(E e) 把元素添加到集合的末尾处
getFirst()得到集合的第一个元素
getLast() 得到集合的最后一个元素
removeFirst()删除集合中的首位元素并返回
removeLast() 删除集合中的末位元素并返回
descendingIterator() 返回逆序的迭代器对象