java中的stream基本使用
前言
Stream流把真正的函數(shù)式編程風(fēng)格引入到Java中,而且代碼特別簡介。
一、Stream流的三類方法
1、獲取Stream流
2、中間方法
3、終結(jié)方法
二、生成Stream流的方式
-
Collection體系集合
使用默認(rèn)方法stream()生成流, default Stream stream()
-
Map體系集合
把Map轉(zhuǎn)成Set集合,間接的生成流
-
數(shù)組
通過Arrays中的靜態(tài)方法stream生成流
-
同種數(shù)據(jù)類型的多個數(shù)據(jù)
通過Stream接口的靜態(tài)方法of(T… values)生成流
三、Stream流中間操作方法
常見方法
方法名 | 說明 |
---|---|
Stream filter(Predicate predicate) | 用于對流中的數(shù)據(jù)進(jìn)行過濾 |
Stream limit(long maxSize) | 返回此流中的元素組成的流,截取前指定參數(shù)個數(shù)的數(shù)據(jù) |
Stream skip(long n) | 跳過指定參數(shù)個數(shù)的數(shù)據(jù),返回由該流的剩余元素組成的流 |
static Stream concat(Stream a, Stream b) | 合并a和b兩個流為一個流 |
Stream distinct() | 返回由該流的不同元素(根據(jù)Object.equals(Object) )組成的流 |
四、Stream流終結(jié)操作方法
常見方法
方法名 | 說明 |
---|---|
void forEach(Consumer action) | 對此流的每個元素執(zhí)行操作 |
long count() | 返回此流中的元素數(shù) |
五、Stream流的收集操作
常用方法
方法名 | 說明 |
---|---|
R collect(Collector collector) | 把結(jié)果收集到集合中 |
工具類Collectors提供了具體的收集方式 |
方法名 | 說明 |
---|---|
public static Collector toList() | 把元素收集到List集合中 |
public static Collector toSet() | 把元素收集到Set集合中 |
public static Collector toMap(Function keyMapper,Function valueMapper) | 把元素收集到Map集合中 |
六、體驗一下
現(xiàn)在ArrayList集合,存儲6名演員名稱,演員只要名字為3個字的前三人。文章來源:http://www.zghlxwxcb.cn/news/detail-614287.html
代碼如下):
ArrayList<String> list = new ArrayList<String>();
list.add("周潤發(fā)");
list.add("成龍");
list.add("劉德華");
list.add("吳京");
list.add("周星馳");
list.add("李連杰");
Stream<String> listStream= list.stream().filter(s -> s.length() == 3).limit(3);
總結(jié)
例如:以上就是今天要講的內(nèi)容,本文僅僅簡單介紹了stream的使用,而stream提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法。文章來源地址http://www.zghlxwxcb.cn/news/detail-614287.html
到了這里,關(guān)于java中的stream基本使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!