1、实现List的嵌套遍历(外层List中的元素是List对象 List list)。
package com.secondphase.homework.day02;
import java.util.ArrayList;
import java.util.Iterator;
/**
* @Author jinman1012@qq.com 2020/8/12 19:37
* @Version 1.0
*/
public class Problem1 {
public static void main(String[] args) {
//创建班级动态数组
ArrayList<Student> classOne = new ArrayList<>();
ArrayList<Student> classTwo = new ArrayList<>();
//创建年级动态数组
ArrayList<ArrayList<Student>> arrBig = new ArrayList<>();
//一班
Student stu1 = new Student("张三");
Student stu2 = new Student("李四");
Student stu3 = new Student("王五");
Student stu4 = new Student("赵六");
classOne.add(stu1);
classOne.add(stu2);
classOne.add(stu3);
classOne.add(stu4);
arrBig.add(classOne);
//二班
Student stu5 = new Student("龙狙");
Student stu6 = new Student("二西");
Student stu7 = new Student("泰坦");
Student stu8 = new Student("咆哮");
classTwo.add(stu5);
classTwo.add(stu6);
classTwo.add(stu7);
classTwo.add(stu8);
arrBig.add(classTwo);
//建议将Iterator放for循环,并不是所有地方都需要用到迭代器,防止其他地方报错
for(Iterator<ArrayList<Student>> iteBig = arrBig.iterator();iteBig.hasNext();) {
for(Iterator<Student> iteSmall = iteBig.next().iterator();iteSmall.hasNext();){
System.out.println(iteSmall.next());
}
}
}
}
class Student {
private String name;
public Student(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
'}';
}
}
2、用 List 存储一些字符串,去除里面重复的字符串,只保留一个。
package com.secondphase.homework.day02;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* @Author jinman1012@qq.com 2020/8/12 19:37
* @Version 1.0
*/
public class Problem2 {
public static void main(String[] args) {
List list = new ArrayList<>(
Arrays.asList("qiezi", "pdd", "csgo", "pubg", "yjj", "qiezi", "qiezi"));
System.out.println(list);
//堆上的对象是同一个,不需要返回值
removeSameEle(list);
System.out.println(list);
}
public static void removeSameEle(List list) {
if (list.isEmpty() || list.size() == 1) {
return;
}
//for (int i = 0; i < list.size()-1; i++)效果也相同
//第二个for同减了1的也进不去
for (int i = 0; i < list.size(); i++) {
for (int j = i + 1; j < list.size(); j++) {
if (list.get(i).equals(list.get(j))) {
list.remove(j);
j--;
}
}
}
}
}