Java 8を使用してリストをマップに変換し、要素の出現回数をカウントする方法


  1. シンプルな方法:

    import java.util.*;
    public class ListToMapExample {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("apple", "banana", "apple", "orange", "banana", "apple");
    
        Map<String, Integer> map = new HashMap<>();
        for (String element : list) {
            map.put(element, map.getOrDefault(element, 0) + 1);
        }
    
        System.out.println(map);
    }
    }

出力結果:

{orange=1, banana=2, apple=3}
  1. Java 8のストリームを使用する方法:

    import java.util.*;
    import java.util.stream.Collectors;
    public class ListToMapExample {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("apple", "banana", "apple", "orange", "banana", "apple");
    
        Map<String, Long> map = list.stream()
                .collect(Collectors.groupingBy(e -> e, Collectors.counting()));
    
        System.out.println(map);
    }
    }

出力結果:

{orange=1, banana=2, apple=3}

上記の方法では、リスト内の各要素がキーとなり、その要素の出現回数が値としてマップに格納されます。必要に応じて、出力されたマップを別の形式に変換したり、他の操作を行ったりすることもできます。