Collectorsとグループ化
Streamの結果を収集し、データをグループ化する方法を学びます。
「Collectorsとグループ化」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全3レッスンが含まれています。
導入
Collectorsは Stream の結果をコンテナーに集めます。グループ化では、カテゴリごとに項目を整理します。
toList
Collectors.toList()は Stream の要素を List に集めます。
コード:toList
このコードは、大文字に変換した名前を List に集めます。
import java.util.*;import java.util.stream.*;public class Main {
public static void main(String[] args) {
List<String> names = Arrays.asList("Ada","Bob","Eve");
List<String> upper = names.stream().map(String::toUpperCase).collect(Collectors.toList());
System.out.println(upper);
}
}
joining
Collectors.joining()は、任意の区切り文字を使って文字列を連結します。
コード:joining
このコードは単語をスペースで連結し、文を作ります。
import java.util.*;import java.util.stream.*;public class Main {
public static void main(String[] args) {
List<String> words = Arrays.asList("Java","is","fun");
String sentence = words.stream().collect(Collectors.joining(" "));
System.out.println(sentence);
}
}
コード:groupingBy
Collectors.groupingByは、分類関数(ここでは先頭文字)をキーとする Map に要素をグループ化します。
import java.util.*;import java.util.stream.*;public class Main {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice","Bob","Anna");
Map<Character, List<String>> grouped = names.stream().collect(Collectors.groupingBy(s -> s.charAt(0)));
System.out.println(grouped);
}
}
Collectors の確認
クイックチェック:分類関数で要素をグループ化する collector はどれですか。
まとめ
まとめ:Collectors を使うと Stream の結果を集められます。toList は収集し、joining は連結し、groupingBy は分類します。
よくある質問
「Collectorsとグループ化」レッスンは無料ですか?
はい。「Collectorsとグループ化」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。
「Collectorsとグループ化」で何を学びますか?
Streamの結果を収集し、データをグループ化する方法を学びます。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Java Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。
「Collectorsとグループ化」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJava Academyレッスンでコードを書いて実行できますか?
はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Streamのソース
- map/filter/reduce
- Collectorsとグループ化