中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站怎么做視頻教程上海十大公關(guān)公司排名

網(wǎng)站怎么做視頻教程,上海十大公關(guān)公司排名,企業(yè)宣傳片制作公司收費(fèi),wordpress 二級(jí)目錄404Java 8中使用Stream來(lái)操作集合 在Java 8中,你可以使用Stream API來(lái)操作集合,這使得集合的處理變得更加簡(jiǎn)潔和函數(shù)式。Stream API提供了一系列的中間操作(intermediate operations)和終端操作(terminal operations&…

Java 8中使用Stream來(lái)操作集合

在Java 8中,你可以使用Stream API來(lái)操作集合,這使得集合的處理變得更加簡(jiǎn)潔和函數(shù)式。Stream API提供了一系列的中間操作(intermediate operations)和終端操作(terminal operations),可以很容易地對(duì)集合進(jìn)行過(guò)濾、映射、排序、聚合等操作。

下面是一些使用Stream API操作集合的例子:

1. 過(guò)濾元素

使用filter方法過(guò)濾集合中的元素:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);List<Integer> evenNumbers = numbers.stream().filter(num -> num % 2 == 0).collect(Collectors.toList());System.out.println(evenNumbers); // 輸出: [2, 4, 6, 8, 10]

2. 映射元素

使用map方法將集合中的元素映射成新的形式:

List<String> strings = Arrays.asList("a", "b", "c");List<String> upperCaseStrings = strings.stream().map(String::toUpperCase).collect(Collectors.toList());System.out.println(upperCaseStrings); // 輸出: [A, B, C]

3. 排序元素

使用sorted方法對(duì)集合中的元素進(jìn)行排序:

List<String> words = Arrays.asList("banana", "apple", "cherry");List<String> sortedWords = words.stream().sorted().collect(Collectors.toList());System.out.println(sortedWords); // 輸出: [apple, banana, cherry]

4. 聚合元素

使用reduce方法對(duì)集合中的元素進(jìn)行聚合操作,例如求和:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);int sum = numbers.stream().reduce(0, Integer::sum);System.out.println(sum); // 輸出: 15

5. 查找元素

使用anyMatch, allMatch, noneMatch來(lái)查找匹配特定條件的元素:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);boolean allPositive = numbers.stream().allMatch(num -> num > 0);System.out.println(allPositive); // 輸出: true

6. 收集到不同的集合類型

除了收集到List,你還可以收集到SetMap等其他集合類型:

List<Integer> numbers = Arrays.asList(1, 2, 2, 3, 3, 3);Set<Integer> uniqueNumbers = numbers.stream().distinct().collect(Collectors.toSet());System.out.println(uniqueNumbers); // 輸出: [1, 2, 3]

7. 分組

使用groupingBy對(duì)集合中的元素進(jìn)行分組:

List<String> fruits = Arrays.asList("apple", "banana", "cherry", "date");Map<Integer, List<String>> groupedByLength = fruits.stream().collect(Collectors.groupingBy(fruit -> fruit.length()));System.out.println(groupedByLength);
// 輸出:
// {
//    5=[apple],
//    6=[banana, cherry],
//    4=[date]
// }

8. 扁平化集合

使用flatMap來(lái)將集合中的元素轉(zhuǎn)換成流,并將這些流扁平化成一個(gè)流:

List<List<Integer>> lists = Arrays.asList(Arrays.asList(1, 2),Arrays.asList(3, 4),Arrays.asList(5, 6)
);List<Integer> flattenedList = lists.stream().flatMap(List::stream).collect(Collectors.toList());System.out.println(flattenedList); // 輸出: [1, 2, 3, 4, 5, 6]

使用Stream API可以大大簡(jiǎn)化對(duì)集合的操作,并且代碼更加清晰和易于理解。不過(guò),請(qǐng)注意,Stream API的操作通常是惰性的(lazy),

stream高階用法

Java 8中的Stream API提供了許多高階用法,這些用法允許你以更函數(shù)式的方式處理數(shù)據(jù)。下面是一些Java 8中Stream API的高階用法示例:

1. 匹配特定條件

使用anyMatch、allMatchnoneMatch來(lái)檢查Stream中的元素是否滿足特定的條件。

List<String> list = Arrays.asList("a", "b", "c", "d");// 檢查是否有任何元素以'a'開(kāi)頭
boolean anyStartWithA = list.stream().anyMatch(s -> s.startsWith("a"));
System.out.println(anyStartWithA); // 輸出: true// 檢查所有元素是否都以'a'開(kāi)頭
boolean allStartWithA = list.stream().allMatch(s -> s.startsWith("a"));
System.out.println(allStartWithA); // 輸出: false// 檢查是否沒(méi)有元素以'z'開(kāi)頭
boolean noneStartWithZ = list.stream().noneMatch(s -> s.startsWith("z"));
System.out.println(noneStartWithZ); // 輸出: true

2. 收集器(Collectors)

使用Collectors類來(lái)執(zhí)行更復(fù)雜的聚合操作,如分組、計(jì)數(shù)、求和等。

List<String> words = Arrays.asList("apple", "banana", "cherry", "apple");// 分組
Map<String, Long> wordCount = words.stream().collect(Collectors.groupingBy(word -> word, Collectors.counting()));
System.out.println(wordCount); // 輸出: {apple=2, banana=1, cherry=1}// 計(jì)數(shù)
long count = words.stream().collect(Collectors.counting());
System.out.println(count); // 輸出: 4// 求和
List<Integer> numbers = Arrays.asList(1, 2, 3, 4);
int sum = numbers.stream().collect(Collectors.summingInt(number -> number));
System.out.println(sum); // 輸出: 10// 平均值
double average = numbers.stream().collect(Collectors.averagingInt(number -> number));
System.out.println(average); // 輸出: 2.5

3. 排序

使用sorted方法對(duì)Stream中的元素進(jìn)行排序。

List<String> words = Arrays.asList("banana", "apple", "cherry");
List<String> sortedWords = words.stream().sorted().collect(Collectors.toList());
System.out.println(sortedWords); // 輸出: [apple, banana, cherry]

4. 查找元素

使用findFirstfindAny來(lái)查找Stream中的元素。

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);// 查找第一個(gè)元素
Optional<Integer> firstNumber = numbers.stream().findFirst();
System.out.println(firstNumber.get()); // 輸出: 1// 查找任意元素(并行流中更高效)
Optional<Integer> anyNumber = numbers.parallelStream().findAny();
System.out.println(anyNumber.get()); // 輸出: 任意一個(gè)數(shù)字,可能是1, 2, 3, 4, 5中的任何一個(gè)

5. 流的并行處理

使用parallelStream來(lái)并行處理數(shù)據(jù),這在大數(shù)據(jù)集上可以提高性能。

List<Integer> numbers = IntStream.range(0, 1000000).boxed().collect(Collectors.toList());// 并行流求和
int sum = numbers.parallelStream().mapToInt(Integer::intValue).sum();
System.out.println("Sum: " + sum); // 輸出: 499999500000

6. 流操作的組合

你可以組合多個(gè)流操作來(lái)創(chuàng)建更復(fù)雜的數(shù)據(jù)處理管道。

List<String> words = Arrays.asList("apple", "banana", "cherry");// 過(guò)濾出長(zhǎng)度大于4的單詞,轉(zhuǎn)換為大寫,并排序
List<String> result = words.stream().filter(word -> word.length() > 4).map(String::toUpperCase).sorted().collect(Collectors.toList());
System.out.println(result); // 輸出: [BANANA]
http://www.risenshineclean.com/news/53244.html

相關(guān)文章:

  • wordpress加速r網(wǎng)站搜索優(yōu)化公司
  • 網(wǎng)站開(kāi)發(fā)專業(yè)職稱有哪些武漢網(wǎng)絡(luò)推廣公司排名
  • 班級(jí)網(wǎng)站設(shè)計(jì)模板域名收錄查詢工具
  • 專業(yè)做網(wǎng)站關(guān)鍵詞排名下掉長(zhǎng)尾關(guān)鍵詞是什么意思
  • 在家做兼職官方網(wǎng)站平臺(tái)輿情信息網(wǎng)
  • php網(wǎng)站開(kāi)發(fā)技術(shù)文檔廣告聯(lián)盟怎么賺錢
  • 做app網(wǎng)站有哪些功能怎么做ppt
  • 紹興專業(yè)做網(wǎng)站的公司蘇州seo按天扣費(fèi)
  • 網(wǎng)站 被攻擊_主業(yè)篡改 被黑了 織夢(mèng)做的站市場(chǎng)調(diào)研
  • 網(wǎng)站建設(shè)可以幫助花店怎么樣百度投訴中心24人工客服電話
  • 大學(xué)生實(shí)訓(xùn)網(wǎng)站建設(shè)心得關(guān)鍵詞查詢
  • 相親網(wǎng)站做期貨現(xiàn)貨貴金屬的人近期國(guó)內(nèi)新聞?wù)?/a>
  • 最新足球消息seo搜索引擎優(yōu)化ppt
  • 自己做的網(wǎng)站怎么連接計(jì)算機(jī)免費(fèi)漲粉工具
  • wordpress 懸浮播放器公司網(wǎng)站seo公司
  • 網(wǎng)站建設(shè)完成后如何備案安陽(yáng)seo
  • 網(wǎng)站建設(shè)公司銷售最近三天的國(guó)際新聞大事
  • 股票訂閱網(wǎng)站開(kāi)發(fā)如何做網(wǎng)絡(luò)推廣推廣
  • 網(wǎng)站開(kāi)發(fā)的概念免費(fèi)seo搜索優(yōu)化
  • 做網(wǎng)站開(kāi)店網(wǎng)絡(luò)營(yíng)銷的未來(lái)發(fā)展趨勢(shì)
  • 手機(jī)網(wǎng)站開(kāi)發(fā)怎么收費(fèi)品牌seo推廣咨詢
  • 成年做羞羞的視頻網(wǎng)站微信廣告投放平臺(tái)
  • 麗水市建設(shè)工程招標(biāo)網(wǎng)站百度官方客服
  • 平谷住房和城鄉(xiāng)建設(shè)委員會(huì)網(wǎng)站微信朋友圈產(chǎn)品推廣語(yǔ)
  • 做項(xiàng)目的編程網(wǎng)站seo關(guān)鍵詞推廣公司
  • 企業(yè)門戶網(wǎng)站開(kāi)發(fā)代碼簡(jiǎn)單網(wǎng)站建設(shè)優(yōu)化推廣
  • 金湖網(wǎng)站建設(shè)搜索引擎排行榜
  • 河南省村鎮(zhèn)建設(shè)處網(wǎng)站南寧seo推廣公司
  • 自己做的網(wǎng)站根目錄哪里找到網(wǎng)絡(luò)推廣seo怎么弄
  • 網(wǎng)站建設(shè)案例咨詢2023年5月最新疫情