各種stream操作:從集合中獲取符合條件的元素

java8stream操作:從集合中獲取符合條件的元素

    List<Student> students = new ArrayList<>();

        students.add(new Student(1,"張三",90));
        students.add(new Student(2,"李四",60));
        students.add(new Student(3,"王五",30));
        students.add(new Student(4,"趙六",85));

        int studentId = 3;
        Student student = students.stream().filter(o -> o.getId() == studentId).findAny().orElse(null);


如上,獲取id爲3的元素對象,如果不存在返回null。

student類:
 

public class Student {

    private int id;
    private String name;
    private int score;

    public Student(int id, String name, int score) {
        this.id = id;
        this.name = name;
        this.score = score;
    }
get...
set...
}

其他用法:

List<WorkHandoverModel>workHandoverList2=workHandoverList.stream().filter(item->item.getIsDelete().equals(0)).collect(Collectors.toList());//獲取list中符合沒有刪除的工作交接的list
 
List<WorkHandoverModel>workHandoverList1=workHandoverList.stream().filter(item->item.getIsDelete().equals(1)).collect(Collectors.toList());
 
workHandoverList1.stream().forEach(item->item.setDispathStatus(null));//對查詢出來的list統一賦值
 
workHandoverList1.stream().forEach(item->item.setShowDispathStatus(null));
 
//workHandoverList1.stream().forEach(item->item.setDispathId(null));
 
workHandoverList2.addAll(workHandoverList1);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章