「java8」Streamクラスのstream().map()メソッドで文字長とchar値を返すサンプル

2020年10月16日

関数説明
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()結果:
[*, *, *, *]

 

Java

Posted by arkgame