Java基础——集合进阶2
一、List集合
1.1 什么是 List?
List是 Java 集合框架中的一个接口,代表有序、可重复的元素集合。💡 简单理解:
List就像一个“智能动态数组”——长度自动增长,还能存对象!
单例集合中的一种,父类Collection的集合的相关方法在List里面也能用。



删除的方法细节:

package com.lkbhua.List;import java.util.ArrayList;
import java.util.List;public class ListDemo1 {public static void main(String[] args) {/*List系列集合独有的方法:void add(int index , E element) 在此集合中的指定位置插入指定的元素E remove(int index) 删除指定索引处的元素,返回被删除的元素E set(int index , E element) 修改指定索引处的元素,返回被修改的元素E get(int index) 返回指定索引处的元素*/// 1、创建集合对象// List也是接口,右边需要new实现类对象List<String> list = new ArrayList<>();// 2、添加元素list.add("hello");list.add("world");list.add("java");// 3、遍历for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}System.out.println("------------------");// 4、指定位置插入元素// void add(int index , E element)// 原来位置上的元素依次往后移动list.add(1, "lkbhua");for (int i = 0; i < list.size(); i++){System.out.println(list.get(i));}System.out.println("------------------");// 5、删除元素// E remove(int index)String remove = list.remove(0);System.out.println(remove);// 6、修改元素// E set(int index , E element)list.set(2, "kobe");for (int i = 0; i < list.size(); i++){System.out.println(list.get(i));}System.out.println("------------------");// 7、获取元素// E get(int index)String element = list.get(1);System.out.println(element);System.out.println("------------------");}
}
1.2 遍历方式


其中previous()方法可以将指针一个一个往前移动,并获取元素。
但是有局限性:默认指针指向0索引,如果误操作调用pervious()则会超出集合元素的范围,访问到空元素会报错,只能在迭代器往后移动之后才能使用。
package com.lkbhua.List;import java.util.ArrayList;
import java.util.List;public class ListDemo2 {public static void main(String[] args) {/* List的五种遍历方式1、迭代器2、列表迭代器3、增强for4、Lambda表达式5、普通for循环*/// 1、创建集合List<String> list = new ArrayList<>();list.add("aaa");list.add("bbb");list.add("ccc");// 2、创建迭代器java.util.Iterator<String> it = list.iterator();while (it.hasNext()) {String s = it.next();System.out.println(s);}System.out.println("-----------------");// 3、增强 forfor (String s : list) {System.out.println(s);}System.out.println("-----------------");// 4、Lambda表达式list.forEach(s -> System.out.println(s));System.out.println("-----------------");// 5、普通for循环for (int i = 0; i < list.size(); i++) {String s = list.get(i);System.out.println(s);}System.out.println("-----------------");// 6、列表迭代器// 同样的也是一个接口,是迭代器的子接口// 新增了一个方法add()java.util.ListIterator<String> lit = list.listIterator();while (lit.hasNext()) {String s = lit.next();if("bbb".equals(s)){lit.add("ddd");}System.out.println(s);}System.out.println("-----------------");}
}


