yucatio@システムエンジニア

趣味で作ったものいろいろ

2022-10-01から1ヶ月間の記事一覧

Optional.flatMap()は再帰的かどうか

疑問 Optional.flatMap()は再帰的かどうか(2段以上Optionalがネストされた場合に一番内側の値を取得するか) 結論 再帰的でない。 Optional.flatMap()とは Optionalのマップの結果がOptionalのとき、その中身を取り出してくれるメソッド Optional<String> o = Optiona</string>…

JavaのパラレルストリームでCollectors.toList()は順番に並ぶか

背景 Javaでパラレルストリームを使用すると、forEachでは順番がランダムになる。 List<String> list = List.of("A", "B", "C"); list.parallelStream().forEach(System.out::println); // B C A など Collectors.toList()で集約したリストは元の配列の順番に並びま</string>…

JavaのパラレルストリームでforEachは並列実行されるか

結論 javaのパラレルストリームでforEachは並列実行される コードを書いて確かめてみた forEach内でsleepして動作を確かめてみた List<String> list = List.of("A", "B", "C"); list.parallelStream() .forEach(s -> { System.out.println(s + ": start"); System.ou</string>…

Javaでリストの重複しているインデックスを取得する(ストリームAPI使用)

Javaで、リスト内で重複している要素の、インデックスをグルーピングして取得します。ストリームAPIを使用すると簡単に書けます。 List<String> list = List.of("A", "B", "C", "B", "B", "D", "A"); Map<String, List<Integer>> indexGroup = IntStream.range(0, list.size()) .boxed() .c</string,></string>…

Javaでリストの重複をカウントする(ストリームAPI使用)

Javaでリストの重複をカウントする方法です。ストリームAPIを使用すると簡単に書けます。 重複をカウントする List<String> list = List.of("A", "B", "C", "B", "B", "D", "A"); Map<String, Long> countMap = list.stream().collect( Collectors.groupingBy( Function.identity()</string,></string>…

Java歴13年がJava Gold(SE 11)を受けてみた

無事Java Silverの資格を取得したので(過去記事: Java歴13年がJava Silver (SE 11)を受けてみた【勉強編】 - yucatio@システムエンジニア を参照)、本命のJava Goldを受験しました。 受験のきっかけ TwitterでJava Silverを受験する人を見かけて興味を持った…