java8使用流的filter來篩選數(shù)據(jù)的實(shí)現(xiàn)
本文主要介紹了java8使用流的filter來篩選數(shù)據(jù)的實(shí)現(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 {
//比如說 你需要在一個(gè)列表中 篩選出所以重量大于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);//將蘋果放進(jìn)去列表
AppMap.put(apple.getColor(),list);//將列表放到map中
}else { //該顏色分類已存在
AppMap.get(apple.getColor()).add(apple);//該顏色分類已存在,則直接放進(jìn)去即可
}
}
}
//如上方式 就可以篩選出來所有的150克大小以上的蘋果,并按顏色分類
//方式二 使用java8提供的流api實(shí)現(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ù)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)java8 filter篩選數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談xml配置spring profiles的幾個(gè)注意點(diǎn)
這篇文章主要介紹了淺談xml配置spring profiles的幾個(gè)注意點(diǎn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Spring導(dǎo)入properties配置文件代碼示例
這篇文章主要介紹了Spring導(dǎo)入properties配置文件代碼示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
探討Java 將Markdown文件轉(zhuǎn)換為Word和PDF文檔
這篇文章主要介紹了Java 將Markdown文件轉(zhuǎn)換為Word和PDF文檔,本文通過分步指南及代碼示例展示了如何將 Markdown 文件轉(zhuǎn)換為 Word 文檔和 PDF 文件,需要的朋友可以參考下2024-07-07
java中request對象各種方法的使用實(shí)例分析
這篇文章主要介紹了java中request對象各種方法的使用,結(jié)合完整實(shí)例形式較為詳細(xì)的分析了request對象的功能及其常用方法的使用技巧,需要的朋友可以參考下2015-12-12
SpringBoot整合flyway實(shí)現(xiàn)步驟解析
這篇文章主要介紹了SpringBoot整合flyway實(shí)現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08

