package com.javaming.study.easyexcel.controller;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
import static java.util.Arrays.sort;
public class OfferTest {
public static void main(String[] args) {
int[] a = {1, 2, 3, 4, 2, 3,1,12,1};
int[] repeatNumbe2 = findRepeatNumbe2(a);
System.out.println(Arrays.toString(repeatNumbe2));
}
//方法2
public static int[] findRepeatNumbe2(int[] nums) {
List<Integer> numList = new ArrayList<>();
for (int num : nums) {
numList.add(num);
}
Map<Integer, Long> collect = numList.stream()
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));//分组list 显示总数
List<Integer> result = collect.entrySet().stream()
.filter(e -> e.getValue() > 1) //总数大于1过滤
.map(Map.Entry::getKey) //获取值转list
.collect(Collectors.toList());
int[] a = new int[result.size()];
//集合转数组
for (int i = 0; i < a.length; i++) {
a[i] = result.get(i);
}
return a;
}
}