演習課題「toListメソッド を使ってみよう」
現在、コードエリアにあるコードでは、エラーが発生してしまいます。Collectors
クラスの、toList
メソッドを用いて、入力された要素を、新しいリストである list に蓄積してください。3つ のHuman
クラスのインスタンスを保持するリストが、正しく表示されれば正解となります。
期待する出力値
[Human[kirishima], Human[rokumura], Human[midorikawa]]
演習課題「toCollectionメソッド を使ってみよう」
現在、コードエリアにあるコードでは、エラーが発生してしまいます。Collectors
クラスの、toCollection
メソッドを用いて、Stream
の要素を保持するlinkedHashSet
に変換してください。3つ のHuman
クラスのインスタンスを保持するリストが、正しく表示されれば正解となります。
期待する出力値
[Human[kirishima], Human[rokumura], Human[midorikawa]]
演習課題「joiningメソッド を使ってみよう」
現在、コードエリアにあるコードでは、エラーが発生してしまいます。Collectors
クラスの、joining
メソッドを用いて、Human
クラスのインスタンスから、getName
メソッドで取得した文字列を連結してください。文字列が正しく連結されて表示されれば正解となります。
期待する出力値
kirishimarokumuramidorikawa
演習課題「joiningメソッド を使ってみよう - その2」
Collectors
クラスの、joining
メソッドを用いて、Human
クラスのインスタンスから、getName
メソッドで取得した文字列を連結してあります。区切り文字として,
を使用し、連結した文字が[]
で囲まれるよう、コードを修正してください。
期待する出力値
[kirishima,rokumura,midorikawa]
演習課題「groupingByメソッド を使ってみよう」
現在、コードエリアにあるコードでは、エラーが発生してしまいます。Collectors
クラスの、groupingBy
メソッドを用いて、Human
クラスのインスタンスから、getName
メソッドによりグルーピングされるよう、コードを修正してください。
期待する出力値
{rokumura=[Human[rokumura], Human[rokumura]], midorikawa=[Human[midorikawa], Human[midorikawa]], kirishima=[Human[kirishima]]}
#13:Collectorsクラス
このチャプターでは、Collectorsクラスについて学習します。
新・Java入門編33: ストリームAPIについて学習しよう
11: 終端操作(Stream)
https://paiza.jp/works/java/new-primer/java-new-primer-33/102010
新・Java入門編31: クラスについてもっと学習しよう
05: インターフェース(interface)
https://paiza.jp/works/java/new-primer/java-new-primer-31/94004
06: implements
https://paiza.jp/works/java/new-primer/java-new-primer-31/94005
新・Java入門編31: クラスについてもっと学習しよう
10: 匿名クラス(Anonymous Classes)
https://paiza.jp/works/java/new-primer/java-new-primer-31/94009
import java.util.*;
import java.util.function.*;
import java.util.stream.*;
public class Main {
public static void main(String... args) {
Stream<A> s =
Stream.of(
new A("a"),
new A("b"),
new A("c"),
new A("a"),
new A("c"));
Map<String, List<A>> r = s.collect(Collectors.groupingBy(A::getS));
System.out.println(r);
}
}
class A {
private String s;
A(String s) {
this.s = s;
}
String getS() {
return this.s;
}
@Override
public String toString() {
return "A[" + getS() + "]";
}
}