一.集合:
1.数组的弊端:
1).其长度一旦确定,后期不能更改;
2).只能存储一种类型的数据;
2.集合的优点:
1).对于我们来说,集合是无限大的,我们不用关系长度的问题;
2).集合可以存储任何的引用数据类型;
3.集合的层次结构:
Collection(接口)
|--List(接口):1.有序;2.能存储重复值;
|--ArrayList(类):数组实现;不同步,效率高;
|--Vector(类):数组实现;同步的,效率低;
|--LinkedList(类):链表实现;不同步,效率高;
|--Set(接口):1.无序的;2.不能存储重复值;
二.Collection(接口):
1.常用方法:
boolean add(E e)
boolean remove(Object o)
void clear()
boolean contains(Object o)
boolean isEmpty()
int size()
批量的方法:
boolean addAll(Collection c)
boolean removeAll(Collection c)
boolean containsAll(Collection c)
boolean retainAll(Collection c)
2.遍历的方式:
Object[] toArray():把集合转成数组,可以实现集合的遍历
Iterator iterator():迭代器,集合的专用遍历方式
三.Iterator(接口):
boolean hasNext():
Object next();
四.List(接口)
1.特有方法:
void add(int index,E element)
E remove(int index)
E get(int index)
E set(int index,E element)
ListIterator listIterator()
2.遍历方式:
结合Collection的size()和List的get(int index)
for(int i = 0;i < list.size();i++){
System.out.println(list.get(i));
}
五.ListIterator(接口)
1.它是Iterator的子接口;增加了"向前"遍历的方式;
2.成员方法:
boolean hasPrevious()
E previous()
六.数据结构:
1.数组:查询快,增删慢;
2.链表:查询慢,增删快;
|
|