在Java中有通用的遍历方式Iterator和ListIterator
Iterator遍历集合
boolean hasNext(E);//判断集合中有没有下一个元素
E Next();如果有则取出来
Iterator<String> iterator = coll.iterator
while(iterator.hasNext()){
System.out.println(iterator.next());
}
ListIterator遍历集合
boolean hasPrievious(E);//判断集合中有没有上一个元素
E Privious();如果有则取出来
boolean hasNext(E);//判断集合中有没有下一个元素
E Next();如果有则取出来
E Set();修改内容
Iterator<String> iterator = coll.iterator
while(iterator.hasNext()){
System.out.println(iterator.next());
List接口
List接口的特点:
1.List是有序的集合(取出和存储时的顺序一样)。
2.List集合可以存储重复的元素。
3.List集合有索引,可以使用普通的循环方法。
List接口下面有Vector ArrayList Linkedlist
ArrayList集合
ArrayList集合的数据结构是数组,数组的特点是查询快,增删慢。
它里面可以使用collection集合的共性方法。
LinkedList
LinkedList的数据结构是双向链表。
特点:底层为链表结构,查询快,增删慢。里面包含了大量的首尾操作方法。
使用LinkedList不能使用多态的写法,使用多态的写法使用不了自己的特有方法。
public void addFirst();
public void addLast();
public E getfirst();
public E getLast();
public void push(E e);
public E pop();
Set接口
特点:不允许存储重复元素。没有索引,不能使用普通的For循环。是一个无序的集合,存储进去时和取出时的顺序可能不一样。底层是一个哈希表结构。
哈希表结构:数组➕红黑树 数组➕红黑树(链表长度超过8用红黑树)
*