日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

java8 lambda python_java8里面lambda的stream()用法讲解

發(fā)布時間:2025/3/20 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java8 lambda python_java8里面lambda的stream()用法讲解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

dk8引進(jìn)來的lambda語法是新語法,里面融進(jìn)了python和c#的部分語法,stream()函數(shù)是主要用于集合而言的,對于數(shù)組就沒效果

生成流函數(shù)

把集合裝成流,可以多次使用這個集合,但是不轉(zhuǎn)換流的話,只能用一次,這就是轉(zhuǎn)換成流的好處

stream() ? 為集合創(chuàng)建串行流。

parallelStream() ? 為集合創(chuàng)建并行流。

List strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");

List filtered = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());

forEach

用jdk8來遍歷集合效果很快,代碼如下:

List list =Arrays.asList("a","ad","dr");

list.stream().forEach(System.out::println);//或者如下也可以

list.stream().forEach(a -> System.out.println(a));//或者不創(chuàng)建流也可以直接使用函數(shù)

list.forEach(System.out::println);//或者

list.forEach(a -> System.out.println(a));

limit

主要用來限制顯示的量:eg:

//該random函數(shù)若是不傳遞參數(shù),那么就采用當(dāng)前時間的毫秒數(shù)當(dāng)做種子數(shù),若是傳遞了參數(shù),就用傳遞的數(shù)字作為種子數(shù)了,但是這樣的話,生成的隨機數(shù)就是偽隨機數(shù),雖然隨機,但是點幾次,都基本一樣,因為傳入的種子數(shù)限制了函數(shù)的選擇性

Random random = newRandom();//受到limit限制,只會隨機顯示10個數(shù)字,因為沒有傳遞參數(shù),那么每次點擊都會不一樣,否則,若傳遞了種子數(shù),點擊幾次都一樣

random.ints().limit(10).forEach(System.out::println);//像下面的都一樣

Random random = new Random(10);//傳遞了種子數(shù)

random.ints().limit(10).forEach(System.out::println);

map函數(shù)

主要用來對傳入的參數(shù)進(jìn)行邏輯處理,例如:

//用數(shù)組來轉(zhuǎn)換集合

List list = Arrays.asList(9,3,3);//distinct()函數(shù),是去重復(fù)函數(shù)

list = list.stream().distinct().map(i -> i*i).collect(Collectors.toList());//打印輸出list

list.forEach(System.out::println);

Filter函數(shù)

用來過濾所需要的數(shù)據(jù)

List list = Arrays.asList("1","sd");

list= list.stream().filter(i -> !i.isEmpty()).collect(Collectors.toList());

Collectors函數(shù)

可以集合成所需要的集合類型

List list =Arrays.toList("asd","dsg");//把list集合轉(zhuǎn)換成帶逗號“,”的字符串

String str=list.stream().filter(a -> !a.isEmpty()).collect(Collectors.joining(","));//把得到的字符串轉(zhuǎn)換為了數(shù)組了

String[] split = str.split(",");

統(tǒng)計函數(shù)

用來統(tǒng)計數(shù)組集合的最大最小平均總和的各個值

List list = Arrays.asList(12,34,23,12,3,34);

IntSummaryStatistics stats= list.stream().mapToInt(x ->x).summaryStatistics();//最大值

stats.getMax();//最小值

stats.getMin();//平均值

stats.getAverage();//總數(shù)

stats.getCount();//總和

stats.getSum();

總結(jié)

以上是生活随笔為你收集整理的java8 lambda python_java8里面lambda的stream()用法讲解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。