大数据之路week01--自学之集合_2(List)
在学习过了Collection之后,接下来我们将去学习List,
先看API文档:
List集合的特有功能:(没有列出Collection也有的功能)
A:添加功能
将指定的元素插入此列表中的指定位置(可选操作)。
B:获取功能
get(int index)
返回此列表中指定位置的元素。
C:列表迭代器功能 (后面单独说)
listIterator(int index)
从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。
D:删除功能
remove(int index)
删除该列表中指定位置的元素(可选操作)。
E:修改功能
用指定的元素(可选操作)替换此列表中指定位置的元素。
代码演示如下:
1 package com.wyh.Iterator; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 import java.util.List; 6 7 /** 8 * @author WYH 9 * @version 2019年11月9日 下午4:39:09 10 * 11 * List: 12 * 有序集合(也称为序列(“存储与取出的顺序一致”) )。 该界面的用户可以精确控制列表中每个元素的插入位置。 用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素。 13 * 与集合不同,列表通常允许重复的元素。 14 * 更正式地,列表通常允许元素e1和e2成对使得e1.equals(e2) ,并且如果它们允许空元素,它们通常允许多个空元素。 15 * 有人可能希望实现一个禁止重复的列表,当用户尝试插入时会抛出运行时异常,但是我们预计这种使用是罕见的。 16 */ 17 public class ListDemo1 { 18 19 static void show(List list) { 20 Iterator it = list.iterator(); 21 while(it.hasNext()) { 22 String s = (String)it.next(); 23 System.out.println(s); 24 } 25 } 26 27 public static void main(String[] args) { 28 //创建List集合 29 List l1 = new ArrayList(); 30 31 //创建字符串对象并进行添加 32 l1.add("a"); 33 l1.add("b"); 34 35 System.out.println("add(int index, E element):**********************************"); 36 37 //add(int index, E element):将指定的元素插入此列表中的指定位置(可选操作)下标从0开始 38 l1.add(1,"xiaowang");//没有问题 39 //l1.add(11,"li");//IndexOutOfBoundsException 报错,下表越界! 40 l1.add(3,"xiaoli");//在集合界后面一个可以添加 41 //l1.add(5,"asd"); //IndexOutOfBoundsException 报错,下表越界! 42 show(l1); 43 44 System.out.println("获取功能 Object get(int index) :******************************"); 45 46 //B:获取功能 get(int index) 返回此列表中指定位置的元素。 47 System.out.println("get:"+l1.get(2)); 48 //IndexOutOfBoundsException 报错,下表越界! 49 //System.out.println("get:"+l1.get(11)); 50 51 System.out.println(" Object remove(int index)删除该列表中指定位置的元素(可选操作)。****"); 52 //remove(int index) 删除该列表中指定位置的元素(可选操作)。 53 System.out.println("remove:"+l1.remove(1)); //返回移除的元素 54 show(l1); 55 //System.out.println("remove:"+l1.remove(11)); //IndexOutOfBoundsException 报错,下表越界! 56 57 System.out.println("Object set(int index, E element) 用指定的元素(可选操作)替换此列表中指定位置的元素。 ****"); 58 System.out.println("set:"+l1.set(1, "xiaowangya")); //返回被修改的元素 59 show(l1); 60 61 62 63 } 64 }
List集合的特有遍历功能:size()和get()方法结合使用:
1 //List集合特有的遍历方式 2 for(int i = 0;i<l1.size();i++) { 3 String s = (String)l1.get(i); 4 System.out.println(s); 5 }
List是Collection的子接口,当然它也可以用Iterator迭代器进行遍历输出:
1 Iterator it = list.iterator(); 2 while(it.hasNext()) { 3 String s = (String)it.next(); 4 System.out.println(s); 5 }