1. 查詢流中滿足條件的第乙個元素
【集合】.stream()
.filter(item -> 【條件】)
.findany()
.get();
【集合】.stream()
.filter(item -> 【條件】)
.findfirst()
.get();
2. 內迴圈
【集合】.stream()
.foreach(item -> );
3. 將集合轉換為map
// function.identity() 當前實體
【集合】.stream()
.collect(collectors.tomap(item -> 【鍵值】), function.identity()));
4. 集合型別轉換
【集合】.stream()
.map(item -> 【**】)
.collect(collectors.tolist());
5. 求和
long result = 【集合】.stream()
.map(item -> )
.reduce(0, integer::sum);
6. 分組
【集合】.stream()
.map(item -> 【**】)
.collect(collectors.groupingby(record::getuserid));
【集合】.stream()
.map(item -> 【**】)
.collect(collectors.groupingby(record::getuserid,
collectors.reducing(bigdecimal.zero, record::getoutput, bigdecimal::add)));
7. 排序(取前n個物件)
【集合】.stream()
.map(item -> 【**】)
.sorted(comparator.comparing(expression::getpriority))
.collect(collectors.tolist());
【集合】.stream()
.map(item -> 【**】)
.sorted((x, y) -> y.getoutput().compareto(x.getoutput()))
.limit(10)
.collect(collectors.tolist());
8. 判斷所有為真或假
【集合】.stream()
.map(item -> update(item))
.allmatch(result -> 1 == result);
Java8 Stream經典示例
示例一 class user public int getid public string tostring 現在有乙個list的集合,如何把這個list轉換成map其中,key是user id,value是user物件 如下 listusers arrays.aslist new user 1,t...
Java8 Stream 中間操作
1 filter 過濾,接收lambda,從流中排除某些元素 內部迭代 迭代操作有stream api完成 test public void test1 終止操作 一次性執行全部內容 stream.foreach system.out println 外部迭代 test public void te...
java8 stream的collect 三個引數
collect方法有兩個過載 第乙個接收的是collector型別的,可以直接用collectors這類工具傳方法引用。第二個接收的是三個引數的,supplier 乙個能創造目標型別例項的方法。accumulator 乙個將當元素新增到目標中的方法。combiner 乙個將中間狀態的多個結果整合到一...