java8使用filter()取出自己所需數(shù)據(jù)
使用filter()取出自己所需數(shù)據(jù)
java8的filter()方法是取出自己所需的數(shù)據(jù),返回滿足條件里的數(shù)據(jù)
person.java
package com.it.pojo;? import java.util.Comparator; import java.util.Objects; ? @Data @NoArgsConstructor @ToString public class Person { ? ? private String name; ? ? private Integer age; }
test.java
package com.it.test; import java.util.ArrayList; import java.util.List; import com.it.pojo.Person; import java.util.Comparator; import java.util.stream.Collectors; public class StreamTest { public static void main(String[] args) { Person person1 = new Person(); person1.setAge(21); person1.setName("21"); Person person2 = new Person(); person2.setAge(19); person2.setName("19"); Person person3 = new Person(); person3.setAge(19); person3.setName("20"); Person person4 = new Person(); person4.setAge(20); person4.setName("20"); Person person5 = new Person(); person5.setAge(19); person5.setName("18"); List<Person> people = new ArrayList<>(); people.add(person1); people.add(person2); people.add(person3); people.add(person4); people.add(person5); List<Person> collect1 = people.stream().filter((person) -> { return person.getName().equals("18"); //取姓名是18的Person數(shù)據(jù) }).collect(Collectors.toList()); System.out.println(collect1); List<Person> collect2 = people.stream().filter((person) -> { return person.getAge().intValue()==19 && person.getName().equals("19"); }).collect(Collectors.toList()); System.out.println(collect2); List<Person> collect = people.stream().filter(person -> person.getName().equals("181") //測試不滿足條件的list集合會是什么樣的 ).collect(Collectors.toList()); System.out.println(collect); //集合size==0 if(collect.size()==0){ System.out.println("nihao"); } } }
結(jié)果
java8 filter使用心得
如果A集合元素數(shù)量10個,filter滿足條件為5個,沒有賦值新集合,那么A還是原來的10個,如果賦值給B集合,B集合為5個;
如果A集合10個,filter滿足條件為5個,賦值給B集合,遍歷B集合,對這5個元素進行了修改,那么A集合中的5個元素也會同時修改。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring中的@ModelAttribute模型屬性綁定詳解
這篇文章主要介紹了Spring中的@ModelAttribute模型屬性綁定詳解,@ModelAttribute用于將方法參數(shù)或返回值綁定到Model屬性上,并公開給Web視圖,支持使用@RequestMapping注釋的Controller類,需要的朋友可以參考下2024-02-02Java中ArrayBlockingQueue和LinkedBlockingQueue
這篇文章主要介紹了Java中ArrayBlockingQueue和LinkedBlockingQueue,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-09-09IDEA中springboot的熱加載thymeleaf靜態(tài)html頁面的方法
這篇文章主要介紹了IDEA中springboot的熱加載thymeleaf靜態(tài)html頁面的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07SpringCloud?Gateway?DispatcherHandler調(diào)用方法詳細介紹
我們第一個關(guān)注的類就是DispatcherHandler,這個類提供的handle()方法,封裝了我們之后所有的handlerMappings,這個DispatcherHandler有點想SpringMVC的DispatchServlet,里面也是封裝了請求和對應(yīng)的處理方法的關(guān)系2022-10-10