java8使用流的filter來篩選數(shù)據(jù)的實現(xiàn)
更新時間:2021年03月19日 08:36:32 作者:程序員與王子喵
這篇文章主要介紹了java8使用流的filter來篩選數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
本文主要介紹了java8使用流的filter來篩選數(shù)據(jù)的實現(xiàn),分享給大家,具體如下:
package chapter1;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static java.util.stream.Collectors.groupingBy;
public class stream {
//比如說 你需要在一個列表中 篩選出所以重量大于150的蘋果,然后按照顏色分組
//按常規(guī)的篩選寫法 就是在循環(huán)里面 迭代篩選
public static void main(String[] args) {
List<Apple> appleList = new ArrayList<>();
//常規(guī)寫法
Map<String, List<Apple>> AppMap = new HashMap<>();
for (Apple apple : appleList) {
if (apple.getWeight() > 150) { //如果重量大于150
if (AppMap.get(apple.getColor()) == null) { //該顏色還沒分類
List<Apple> list = new ArrayList<>(); //新建該顏色的列表
list.add(apple);//將蘋果放進去列表
AppMap.put(apple.getColor(),list);//將列表放到map中
}else { //該顏色分類已存在
AppMap.get(apple.getColor()).add(apple);//該顏色分類已存在,則直接放進去即可
}
}
}
//如上方式 就可以篩選出來所有的150克大小以上的蘋果,并按顏色分類
//方式二 使用java8提供的流api實現(xiàn) 這種叫內(nèi)部迭代
Map<String, List<Apple>> AppMap2=appleList.stream().filter((Apple a)->a.getWeight()>150) //篩選出大于150的
.collect(groupingBy(Apple::getColor)); //按顏色分組 最后得到map
}
class Apple {
private String color;//顏色
private Integer weight; //重量
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public Integer getWeight() {
return weight;
}
public void setWeight(Integer weight) {
this.weight = weight;
}
}
}
到此這篇關(guān)于java8使用流的filter來篩選數(shù)據(jù)的實現(xiàn)的文章就介紹到這了,更多相關(guān)java8 filter篩選數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
探討Java 將Markdown文件轉(zhuǎn)換為Word和PDF文檔
這篇文章主要介紹了Java 將Markdown文件轉(zhuǎn)換為Word和PDF文檔,本文通過分步指南及代碼示例展示了如何將 Markdown 文件轉(zhuǎn)換為 Word 文檔和 PDF 文件,需要的朋友可以參考下2024-07-07
SpringBoot整合flyway實現(xiàn)步驟解析
這篇文章主要介紹了SpringBoot整合flyway實現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-08-08

