java8怎么删除_java8 list 删除元素 结构复杂版

实体类

School.java

package com.company.domain;

import java.util.List;

/**

* @author :lichuankang

* @date :2020/9/3 11:02

* @description :学校

*/

public class School {

private String name;

private List departList;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public List getDepartList() {

return departList;

}

public void setDepartList(List departList) {

this.departList = departList;

}

}

Depart.java

package com.company.domain;

import java.util.List;

/**

* @author :lichuankang

* @date :2020/9/3 11:03

* @description : 组织

*/

public class Depart {

private String name;

private List students;

public Depart() {

}

public Depart(String name, List students) {

this.name = name;

this.students = students;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public List getStudents() {

return students;

}

public void setStudents(List students) {

this.students = students;

}

}

Student.java

package com.company.domain;

/**

* @author :Created by lichuankang

* @date :Created in 2020/7/28 14:10

* @description :

*/

public class Student {

private Integer id;

private String name;

/**

* 学生状态 1 正常 2 休学

*/

private Integer status;

public Student() {

}

public Student(Integer id, String name, Integer status) {

this.id = id;

this.name = name;

this.status = status;

}

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getStatus() {

return status;

}

public void setStatus(Integer status) {

this.status = status;

}

}

FlatMapTest.java

package com.company;

import com.company.domain.Depart;

import com.company.domain.School;

import com.company.domain.Student;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

/**

* @author :lichuankang

* @date :2020/9/3 11:07

* @description :

*/

public class FlatMapTest {

public static void main(String[] args) {

// 构造数据

School lickSchool = new School();

lickSchool.setName("测试小学");

List departList = new ArrayList<>();

List studentList = new ArrayList<>();

studentList.add(new Student(1,"测试1",1));

studentList.add(new Student(2,"测试2",1));

studentList.add(new Student(3,"测试3",1));

studentList.add(new Student(4,"测试4",2));

studentList.add(new Student(5,"测试5",1));

studentList.add(new Student(6,"测试6",2));

List studentList2 = new ArrayList<>();

studentList2.add(new Student(11,"测试11",1));

studentList2.add(new Student(12,"测试12",1));

studentList2.add(new Student(13,"测试13",1));

studentList2.add(new Student(14,"测试14",2));

studentList2.add(new Student(15,"测试15",1));

studentList2.add(new Student(16,"测试16",2));

List studentList3 = new ArrayList<>();

studentList3.add(new Student(121,"测试121",1));

studentList3.add(new Student(122,"测试122",1));

studentList3.add(new Student(123,"测试123",1));

studentList3.add(new Student(124,"测试124",2));

studentList3.add(new Student(125,"测试125",1));

studentList3.add(new Student(126,"测试126",2));

departList.add(new Depart("纪委部",studentList));

departList.add(new Depart("魔术部",studentList2));

departList.add(new Depart("舞蹈部",studentList3));

lickSchool.setDepartList(departList);

lickSchool.getDepartList().stream().map(Depart::getStudents).forEach(students -> {

Iterator iterator = students.iterator();

while (iterator.hasNext()) {

Student student = iterator.next();

if (student.getStatus().equals(2)) {

System.out.println(student.getName() + "-->" + student.getStatus());

iterator.remove();

}

}

});

lickSchool.getDepartList().stream().map(Depart::getStudents).forEach(students -> {

students.forEach(student -> {

System.out.println(student.getName() + "-->" + student.getStatus());

});

});

}

}


版权声明:本文为weixin_29342901原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。