1つの配列を与えて、2回現れる数を探します

5659 ワード

public void fun(){
    int[] arr = {1,2,3,3,3,4,5,6,6,6,7,5,10};
    Map<Integer,Long> map = InStream.of(arr).boxed().collect(Collectors.groupingBy(Function.identity(),Collectors.counting()));
    List<Integer> list = new ArrayList<>();
    map.keySet().stream().forEach(integer -> {
        Long value = map.get(integer);
        if(value == 2){
            list.add(integer);
        }
    });
    Integer[] rs = list.toArray(new Integer[0]);
    System.out.println(Arrays.toString(rs));
    }