/**
* @description:stream流操作 中間操作:例如filter map peek等會對stream的中每乙個物件元素進行操作 最後返回乙個stream流
* 終止操作 結束乙個流的使用 不返回stream流 而是乙個物件
* @author: zhuruilin
* @date: 2020/11/16 9:53
*/public
class
service1116
/** * filter操作 stream< t > filter(predicate< ? super t > predicate)
* 斷言型 算是普通的篩選的
** @param list
*/public
static
void
filter
(list
list)).
collect
(collectors.
tolist()
);}/**
* distinct去重 篩選
* 需要重寫 fruit的equal和hashcode方法,如果不重寫,如果fruit的name和price一樣,
* 使用distinct也去重失敗
** @param list
*/public
static
void
distinct
(list
list));
}/**
* limit 取前幾個
** @param list
*/public
static
void
limit
(list
list)
/** * sorted排序操作
** @param list
*/public
static
void
sorted
(list
list)
else
if(x.
getprice()
< y.
getprice()
)else})
.foreach
(system.out:
:println);}
/** * map對映操作
* 比如 傳入的引數乙個list集合
* 我需要集合裡的fruit物件的id的集合 就可以用到map對映操作
** @param list
*/public
static
void
map(list
list)).
foreach
(system.out:
:println);}
/** * flatmap 扁平化
* 這個我不是很理解 我就暫時的想到的用法就是list中的object某個屬性進行再次細分 比如 字串的切割操作
** @param list
*/public
static
void
flatmap
(list
list)).
flatmap
(x -
>).
foreach
(system.out:
:println);}
/** * peek檢視操作對每乙個流中的元素進行操作
** @param list
*/public
static
void
peek
(list
list)).
collect
(collectors.
tolist()
);}/**
* 匹配操作 是乙個終端操作
* anymatch 只有有乙個符合條件 就返回true 流為空返回false
* nonematch 都不符合條件返回true 否則返回false 流為空返回true
* allmatch 全都符合條件 返回true 只要有個不符合條件就返回false 流為空返回false
** @param list
*/public
static
void
match
(list
list));
result = list1.
stream()
.nonematch
(x -
>);
// 結果依然是true
system.out.
println
(result);}
/** * 收集操作 有很多 我只寫了將結果轉換為常用集合
** @param list
*/public
static
void
collect
(list
list)
}
我自己是跟著下面鏈結的文章學習的,非常感謝這位大佬的奉獻。 Stream流常用操作
stream是個好東西,用完之後感覺以前寫的一堆判斷什麼的真的太臃腫了。隨便記錄點用到的操作。把乙個list中物件某個字段值重複的合併只去乙個值,例子id重複 arraylistcollect records1.stream collect collectors.collectingandthen ...
List的Stream流操作
stream流 stream 中文稱為 流 通過將集合轉換為這麼一種叫做 流 的元素序列,通過宣告性方式,能夠對集合中的每個元素進行一系列並行或序列的流水線操作。函式式程式設計帶來的好處尤為明顯。這種 更多地表達了業務邏輯的意圖,而不是它的實現機制。易讀的 也易於維護 更可靠 更不容易出錯。面對一對...
List的Stream流操作
stream 中文稱為 流 通過將集合轉換為這麼一種叫做 流 的元素序列,通過宣告性方式,能夠對集合中的每個元素進行一系列並行或序列的流水線操作。函式式程式設計帶來的好處尤為明顯。這種 更多地表達了業務邏輯的意圖,而不是它的實現機制。易讀的 也易於維護 更可靠 更不容易出錯。面對一對多結構,查詢主實...