有序:存取元素的顺序是一致的。
有索引༚可通过索引操作元素。
可重复:存储的元素可以重复。
List继承了Collection的方法。
List集合是因为索引,因此,索引操作的方法有很多。
void add(int index,E element)----------->指定元素插入本集中的指定元素。
E remove(int index)----------->删除指定索引的元素,返回被删除的元素。
E set(int index,E element)----------->修改指定索引的元素,返回修改后的元素。
E get(int index)----------->返回指定索引处的元素。
代码运行:
package a04mylistdemo;import java.util.ArrayList;import java.util.List;public class Listdemo1 { public static void main(String[] args) { //1创建一个集合 List<String> list=new ArrayList<>(); //2.添加元素 list.add("aaa"); list.add("bbb"); list.add("ccc");// System.out.println(list);//[aaa, bbb, ccc]// ///将指定元素插入本集合的指定位置// //细节:原索引上的元素会一次向后移动/// list.add(1,"qqq");//[aaa, qqq, bbb, ccc]// System.out.println(list);// ///删除指定索引的元素,返回被删除的元素/// String remove = list.remove(0);// System.out.println(remove);//aaa ///set方法:返回被修改的元素/// String result = list.set(0, "hhh");// System.out.println(result);//aaa// System.out.println(list);//[hhh, bbb, ccc] //get方法: String s = list.get(0); System.out.println(s);//aaa }}。
运行结果
//1.直接删除元素//2.通过索引删除。
注意点:默认通过索引删除,因为在调用方法时,如果该方法出现重载现象:优先调用实参参参参参类型相同的方法,如果要直接删除元素,需要手动包装。
代码演示:
package a04mylistdemo;import java.util.ArrayList;import java.util.List;public class Listdemo2 { public static void main(String[] args) { //两种删除List系列集合的方法 //1.元素直接删除 //2.通过索引删除 /1.创建并添加元素: List list=new ArrayList<>(); list.add(1); list.add(2); list.add(3); //2.删除元素 //list.remove(1);//[1, 3] ///此时1是删除索引上的元素 //因为在调用方法时,如果该方法出现重载现象:优先调用实参参参参参类型相同的方法 //如果删除元素1: //需要手动装箱,手动将基本数据类型的1转换为Integer类型 Integer i=Integer.valueOf(1); list.remove(i); System.out.println(list);//[2, 3] }}。
运行结果
。
3.List集合的遍历方式。
(1)迭代器遍历。
元素在遍历过程中需要删除c;使用迭代器。
代码演示༚
package a04mylistdemo;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class ListDemo3 { public static void main(String[] args) { //1.创建集合并添加元素 List
。
运行结果:
。
(2)列表迭代器遍历。
元素需要添加到遍历过程中c;使用列表迭代器。
package a04mylistdemo;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.ListIterator;import java.util.function.Consumer;public class ListDemo3 { public static void main(String[] args) { //1.创建集合并添加元素 List<String> list=new ArrayList<>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); /列表迭代器: ///获取列表迭代器的对象,里面的指针也默认指向0索引 ///添加额外的方法:元素可以添加到遍历过程中 ListIterator<String> it = list.listIterator(); while(it.hasNext()){ String str = it.next(); if("bbb".equals(str)){ it.add("qqq"); } } System.out.println(list); }}。
运行结果:
。
运行结果:
。
只想遍历使用增强for或lambda表达式。
代码演示:
package a04mylistdemo;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class ListDemo3 { public static void main(String[] args) { //1.创建集合并添加元素 List
运行结果:
运行结果:
。
(4)Lambda表达式遍历。
代码演示: