「java8」Streamクラスのstream().map()メソッドで文字長とchar値を返すサンプル
関数説明
1.<R,A> R collect(Collector<? super T,A,R> collector)
型パラメータ:R – 結果の型A –
Collectorの中間蓄積の型
パラメータ:
collector – リダクションを記述するCollector
戻り値:リダクションの結果
2.<R> Stream<R> map(Function<? super T,? extends R> mapper)
このストリームの要素に指定された関数を適用した結果から構成されるストリームを返します。
Javaコード
package com.arkgame.study; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public class StreamSortDemo { private static final List<String> cityLstA = Arrays.asList("City_1", "City_02", "City_33", "City_456", "City_1234"); private static final List<String> cityLstB = Arrays.asList("User*01", "User*02", "User*03", "User*04"); public static void main(String[] args) { // Stream<Integer Stream<Integer> stA = cityLstA.stream().map(city -> city.length()); System.out.println("リストcityLstAのmap()結果:\n" + stA.collect(Collectors.toList())); System.out.println(""); // Stream<Character Stream<Character> stB = cityLstB.stream().map(city -> city.charAt(4)); System.out.println("リストcityLstBのmap()結果:\n" + stB.collect(Collectors.toList())); } }
実行結果
リストcityLstAのmap()結果:
[6, 7, 7, 8, 9]
リストcityLstBのmap()結果:
[*, *, *, *]