✈【【零基础 快速学Java】韩顺平 零基础30天学会Java】

List 接口是 Collection 接口的子接口
【常用的有:ArrayList、LinkedList和Vector】
【举个栗子】
package com.dingjiaxiong.list_;
import java.util.ArrayList;
import java.util.List;
/**
* ClassName: List_
* date: 2022/9/4 21:10
*
* @author DingJiaxiong
*/
public class List_ {
@SuppressWarnings({"all"})
public static void main(String[] args) {
//1. List 集合类中元素有序(即添加顺序和取出顺序一致)、且可重复
List list = new ArrayList();
list.add("Jack");
list.add("Tom");
list.add("Mary");
list.add("韩老师");
list.add("Tom");
System.out.println("list = " + list);
//2. List 集合中的每个元素都有其对应的顺序索引,即支持索引
//索引从0开始
System.out.println(list.get(3));
}
}
运行结果

package com.dingjiaxiong.list_;
import java.util.ArrayList;
import java.util.List;
/**
* ClassName: ListMethod
* date: 2022/9/4 21:13
*
* @author DingJiaxiong
*/
public class ListMethod {
@SuppressWarnings({"all"})
public static void main(String[] args) {
List list = new ArrayList();
list.add("张三丰");
list.add("贾宝玉");
//在 index = 1 的位置插入一个对象
list.add(1,"韩老师");
System.out.println("list = " + list);
// boolean addAll(int index, Collection eles):从 index 位置开始将 所有元素添加进来
List list2 = new ArrayList();
list2.add("Jack");
list2.add("Tom");
list.addAll(1,list2);
System.out.println("list = " + list);
// Object get(int index):获取指定 index 位置的元素
System.out.println(list.get(2));
// int indexOf(Object obj):返回 obj 在集合中首次出现的位置
System.out.println(list.indexOf("Tom"));
// int lastIndexOf(Object obj):返回 obj 在当前集合中末次出现的位置
list.add("韩老师");
System.out.println("list = " + list);
System.out.println(list.lastIndexOf("韩老师"));
// Object remove(int index):移除指定 index 位置的元素,并返回此元素
System.out.println(list.remove(0));
System.out.println("list = " + list);
// Object set(int index, Object ele):设置指定 index 位置的元素为ele,相当于替换
list.set(1,"玛丽");
System.out.println("list = " + list);
// List subList(int fromIndex, int toIndex):返回从 fromIndex 到 toIndex 位置的子集合
// 返回的子集合 fromIndex <= subList < toIndex (即不包含后面)
List returnList = list.subList(0,2);
System.out.println("returnList = " + returnList);
}
}
运行结果

① 方式一:使用迭代器
② 方式二:使用增强for
③ 方式三:使用普通for
【举个栗子】
package com.dingjiaxiong.list_;
import java.util.*;
/**
* ClassName: ListFor
* date: 2022/9/4 21:21
*
* @author DingJiaxiong
*/
public class ListFor {
@SuppressWarnings({"all"})
public static void main(String[] args) {
//List 接口的实现子类 Vector 、 LinkedList
// List list = new ArrayList();
// List list1 = new Vector();
List list = new LinkedList();
list.add("Jack");
list.add("Tom");
list.add("鱼香肉丝");
list.add("北京烤鸭");
//遍历
System.out.println("=====使用迭代器遍历======");
Iterator iterator = list.iterator();
while (iterator.hasNext()){
Object obj = iterator.next();
System.out.println(obj);
}
System.out.println("=====使用增强for遍历======");
for (Object o : list){
System.out.println("o = " + o);
}
System.out.println("=====使用普通for遍历======");
for (int i = 0; i < list.size(); i++) {
System.out.println("对象 = " + list.get(i));
}
}
}
运行结果
