Collection有两个子接口:List Set
List集合的特点:
有序的 (存储和取出一致),可以允许重复元素
Set集合的特点:
无序性(不能保证迭代的顺序,基于hashMap),并且元素不能重复
List集合的特有功能:
添加功能
void add(int index,Object element):在指定位置处添加指定元素
获取功能
Object get(int index)返回列表中指定位置的元素。
ListIterator listIterator():列表迭代器
删除功能:
Object remove(int index):删除指定位置处的元素
修改功能
Object set(int index, Object element):用指定element元素替换掉指定位置处的元素
ListIterator listIterator():列表迭代器 (List集合的专有迭代遍历:列表迭代器)
ListIterator常用方法:
boolean hasNext() :判断是否有下一个可以迭代的元素(正向遍历)
Object next():获取下一个元素
boolean hasPrevious():判断是否有上一个可以迭代 元素(逆向遍历)
Object previous():返回上一个元素
注意:逆向迭代(遍历),单独使用没意义,前提,要先正向遍历
public class ListIteratorDemo { public static void main(String[] args) { List list=new ArrayList(); list.add("hello"); list.add("world"); list.add("java"); ListIterator li=list.listIterator(); while(li.hasNext()) { String s=(String)li.next(); System.out.println(s); } System.out.println("-----------------"); while(li.hasPrevious()) { String s1=(String)li.previous(); System.out.println(s1); } } }
也可以使用size()和get(int index)相结合,普通for循环的方式进行遍历
public class ListDemo { public static void main(String[] args) { List l=new ArrayList(); l.add("hello"); l.add("world"); l.add("java"); for(int i=0;i<l.size();i++) { System.out.println(l.get(i)); } } }