1.add(in index,Object obj)方法用来向集合中的指定索引位置添加对象,集合的索引位置从0开始,其他对象的索引位置相对向后移动一位。
2.set(int index,E element)方法用指定的元素替换列表中的指定位置的元素,返回以前在指定位置的元素。
1 package com.ning; 2 3 import java.util.*; 4 5 /** 6 * 7 * @author biexiansheng 8 * 9 */ 10 public class Demo { 11 12 public static void main(String[] args) { 13 String a="A",b="B",c="C",d="D",e="E";//定义要插入集合的字符串对象 14 List<String> list=new LinkedList<String>();//创建List集合 15 list.add(a);//向集合中添加元素 16 list.add(b); 17 list.add(c); 18 Iterator<String> iter=list.iterator();//创建集合的迭代器 19 System.out.println("修改后 前集合 中的元素是:"); 20 while(iter.hasNext()){ 21 System.out.print(iter.next()+" "); 22 } 23 list.set(0,e);//将索引位置为0的对象修改为对象e 24 list.set(2,d);//将索引位置为2的对象修改为对象d 25 Iterator<String> it=list.iterator();//创建将集合对象修改后的迭代器对象 26 System.out.println(); 27 System.out.println("修改后的集合中的元素是:"); 28 while(it.hasNext()){//循环获取集合中的元素 29 System.out.print(it.next()+" "); 30 } 31 32 33 } 34 35 }
1 package com.ning; 2 3 import java.util.*; 4 5 public class Demo01 { 6 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 String a="A",b="B",c="C",d="D",e="E",apple="apple";//要添加到集合中的对象 10 List<String> list=new ArrayList<String>();//创建List集合对象 11 list.add(a);//对象a的索引位置为0 12 list.add(apple);//对象apple的索引位置为1 13 list.add(b); 14 list.add(apple); 15 list.add(c); 16 list.add(apple); 17 list.add(d); 18 list.remove(1);//remove(int index)用于移除集合中指定索引位置的对象 19 System.out.println("ArrayList集合中的元素:"+list); 20 System.out.println("apple第一次出现的索引位置:"+list.indexOf(apple)); 21 System.out.println("apple最后一次出现的索引位置:"+list.lastIndexOf(apple)); 22 System.out.println("b第一次出现的索引位置:"+list.indexOf(b)); 23 System.out.println("b最后一次出现的索引位置:"+list.lastIndexOf(b)); 24 System.out.println("***********************************"); 25 //System.out.println("get()获得指定索引位置的对象:"+list.get(0)); 26 27 28 } 29 30 }
此两句话的使用结果对比显示:
list.remove(1);//remove(int index)用于移除集合中指定索引位置的对象
System.out.println("get()获得指定索引位置的对象:"+list.get(0));
1:要使用List集合,通常情况下需要声明为List类型,然后通过List接口的实现类来对集合进行实例化
2:List集合的实现类常用的有ArrayList与LinkedList
3:ArrayList类,该类实现了可变的数组,允许所有元素,包括null,可以根据索引位置对集合进行快速的随机访问。缺点是向指定的索引位置插入对象或者删除对象的速度比较慢。List<String> list=new ArrayList<String>();
4:LinkedList类,该类采用链表结构保存对象,这种结构的优点是便于向集合中插入或者删除对象,经常需要向集合中插入,删除对象时,使用LinkedList类实现的List集合的效率较高,但对于随机访问集合中的对象,使用LinkedList类实现List集合的效率比较慢
List<String> list=new LinkedList<String>();
5:使用List集合时通常声明为List类型,可通过不同的实现类来实例化集合。
1 package com.ning; 2 3 import java.util.*; 4 5 public class Demo04 { 6 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 List list=new ArrayList();//创建集合对象 10 int i=(int)(Math.random()*(list.size()-1));//获得0-2之间的随机数 11 list.add("a");//向集合中添加元素 12 list.add("b"); 13 list.add("c"); 14 System.out.println("随机获取数组中的元素:"+list.get(i));// 15 list.remove(2);//将指定索引位置的元素从集合中移除 16 System.out.println("将索引是'2'的元素从数组中移除后,数组中的元素是:"); 17 for(int j=0;j<list.size();j++){//循环遍历数组 18 System.out.print(list.get(j)+" "); 19 } 20 21 22 } 23 24 }
1 package day13; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 import java.util.ListIterator; 6 7 public class Demo03 { 8 9 public static void main(String[] args) { 10 // TODO Auto-generated method stub 11 List list=new ArrayList(); 12 13 list.add("a"); 14 list.add("b"); 15 list.add("c"); 16 list.add("d"); 17 System.out.print(list+" "); 18 System.out.println("集合的长度是:"+list.size()); 19 //list.remove("a"); 20 System.out.println(); 21 System.out.println("删除后集合的长度是:"+list.size()); 22 System.out.print(list+" "); 23 System.out.println(); 24 for(int i=0;i<list.size();i++){ 25 System.out.print(list.get(i)+" "); 26 } 27 System.out.println(); 28 System.out.println("***********************"); 29 ListIterator it=list.listIterator(); 30 while(it.hasNext()){ 31 String str=(String)it.next(); 32 if("c".equals(str)){ 33 it.add("aaa"); 34 } 35 } 36 System.out.println(list); 37 38 } 39 40 }