List集合 List:元素是有序的,元素可以重复 ArrayList al=new ArrayList(); 增 加 : al.add(); 在指定位置添加 al.(index,""); 删除指定位置元素 al.remove(index); 修改元素 a1.set(index,"") 通过 角标获取元素 al.get(index); 获取所有元素: for(int x=0;x<al.size();x++) { al.get(x) } 第二种方式: Iterator it=a1.iterator(); while(it.hasNext()) { it.next(); } 通过indexof获取对象的位置: al.indexof("字符串"); 获取列表中两个位置之间的数:返回List List sub=al.subList(1,3)返回角标1和3之间的数 在迭代集合过程中,不能对集合进行其他操作,如添加删除等,这时就需要迭代器可以对迭代器的对象进行操作,但是由于Iterator迭代器只有 remove功能,所以建议使用其子接口ListIterator,它具备删除 remove 添加 add 修改 set 等功能,但此功能是List特有 ListIterator列表迭代器:是List集合特有的迭代器,是Iterator的子接口。可以对集合列表进行各种操作。 ListIterator it=a1.ListIterator(); while(it.hasNext())//正向遍历 { it.next(); it.set();//修改 } 逆向遍历 it.hasPrevious
LinkedList:底层使用的是链表结构。特点:增删速度快,但是查询稍慢 不同步 ArrayList :底层使用是的数组结构。特点:查询速度很快,但是增删稍慢。 同步的 Vecctor:底层使用是的数组结构。是同步的 Vector 使用: Vector v=new Vector(); v.add(); v.add(); Enumeration en=new Enumeration () while(en.hasMoreElements()) { en.nextElement(); } LinkedList()集合; 特有方法: addFirst();往前添加 addlast(0;往后添加 getFirst();//获取头值,永远是第一个值 getLast();//获取尾值 removeFirst();//删除并返回头元素 出现NuSuchElementException异常 removeLast();//删除并返回尾元素 1.6中出现了替代方法: 添加 offerFirst() offerlast() 获取 peekFirst() peekLast() 删除 pollfirst() polllast() LinkedList llist=new LinkedList(); 练习: 堆栈:先进后出 被子 堆栈:先进先出 水管 class duilie{ private LinkedList link; duilie{ link = new LinkedList(); } public void myadd(Object obj){ link.addlast(obj); } public Object myget(){ return link.removelast(); } public boolean isnull(){ return link.isEmpty(); } }