List特有的常见方法:有一个共性特点:都可以操作角标
1、添加
void add(int index, E element);
void addAll(int index, collection<?> c);
2、删除
Object remove(int index);
3、修改
Object set(int index, E element);
4、获取
Object get(int index);
int indexOf(Object o);
int lastIndexOf(Object 0);
List subList(int fromIndex,int toIndex);//获取子列表
void add(int index, E element);
void addAll(int index, collection<?> c);
2、删除
Object remove(int index);
3、修改
Object set(int index, E element);
4、获取
Object get(int index);
int indexOf(Object o);
int lastIndexOf(Object 0);
List subList(int fromIndex,int toIndex);//获取子列表
1 import java.util.ArrayList; 2 import java.util.Iterator; 3 import java.util.List; 4 import java.util.ListIterator; 5 6 public class ListDemo { 7 8 public static void main(String[] args) { 9 List list = new ArrayList(); 10 show(list); 11 12 show2(list); 13 14 modify(list); 15 } 16 17 public static void show(List list) { 18 list.add("abc1"); 19 list.add("abc2"); 20 list.add("abc3"); 21 list.add("abc4"); 22 list.add("abc5"); 23 System.out.println("list add:"+list); 24 // 插入元素 25 list.add(1, "abc10"); 26 System.out.println("list index add:"+list); 27 // 删除元素 28 list.remove(2); 29 System.out.println("list remove(index):"+list); 30 // 修改元素 31 list.set(2, "abc8"); 32 System.out.println("list set(index,value):"+list); 33 // 获取元素 34 //System.out.println(list.get(5));//IndexOutOfBoundsException 35 } 36 37 public static void show2(List list) { 38 // Iterator it = list.iterator(); 39 System.out.println("=========Iterator========="); 40 for (Iterator it = list.iterator(); it.hasNext();) { 41 System.out.println("next:"+it.next()); 42 } 43 // list 特有的取出元素的方式之一 44 System.out.println("=========list.size()========="); 45 for (int x = 0; x < list.size(); x++) { 46 System.out.println("list get(index):"+list.get(x)); 47 } 48 } 49 50 public static void modify(List list) { 51 /* 52 * for (Iterator it = list.iterator(); it.hasNext();) 53 * { 54 * Object obj = it.next();// java.util.concurrentmodificationException // 55 * 异常原因:集合和迭代器同时操作集合,导致异常 56 * if (obj.equals("abc2")) 57 * { 58 * //操作集合 59 * list.add("abc9"); 60 * } else 61 * System.out.println(obj); } 62 */ 63 System.out.println(list); 64 65 // 异常解决:可以使用ListIterator来完成在迭代中对元素进行操作 66 // 注意:只有list集合具备ListIterator接口 67 /* 68 * ListIterator接口方法 hasNext(); next(); 69 * 70 * hasPrevious(); previous() 71 */ 72 73 System.out.println("=========ListIterator 可修改集合========="); 74 for (ListIterator it = list.listIterator(); it.hasNext();) { 75 Object obj = it.next(); 76 if (obj.equals("abc4")) { 77 it.add("abc9"); 78 } else 79 System.out.println(obj); 80 } 81 System.out.println("list 特有的ListIterator"+list); 82 }
結果: