自己做網(wǎng)站建設(shè)制作常見網(wǎng)絡(luò)營銷推廣方法
在Java中,Collectors.groupingBy()是一個用于對流元素進行分組的收集器。它可以根據(jù)指定的分類函數(shù)對流元素進行分組,并返回一個Map對象,其中鍵是分組的標準,值是屬于相應(yīng)組的元素列表。
下面是一個使用Collectors.groupingBy()方法的示例:
java
Copy code
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class GroupingByExample {
? ? public static void main(String[] args) {
? ? ? ? List<String> fruits = Arrays.asList("apple", "banana", "cherry", "date","dis", "elderberry");
? ? ? ? Map<Character, List<String>> groupedFruits = fruits.stream()
? ? ? ? ? ? ? ? .collect(Collectors.groupingBy(fruit -> fruit.charAt(0)));
? ? ? ? System.out.println(groupedFruits);
? ? }
}
在上述示例中,我們有一個包含水果名稱的列表fruits。我們希望按照各個水果名稱的首字母進行分組。
使用fruits.stream()創(chuàng)建一個流,并通過Collectors.groupingBy()方法指定分類函數(shù) fruit -> fruit.charAt(0),即根據(jù)水果名稱的首字母進行分組。
groupBy()方法將流元素按照分類函數(shù)的結(jié)果進行分組,并將結(jié)果存儲在groupedFruits變量中。
最后,通過打印輸出語句,我們可以看到分組后的結(jié)果。
運行以上代碼,輸出結(jié)果可能如下所示:
css Copy code
{a=[apple], b=[banana], c=[cherry], d=[date, dis], e=[elderberry]}
在這個例子中,根據(jù)水果名稱的首字母進行分組后,我們得到一個Map對象,其中鍵是首字母,值是具有相應(yīng)首字母的水果名稱列表。例如,鍵'a'對應(yīng)的值是包含"apple"的列表。
使用Collectors.groupingBy()方法可以靈活地根據(jù)不同的分類函數(shù)進行分組,并以多種方式處理和操作分組后的結(jié)果。