使用InStream的多线程方法向synchronizedList中插入若干个随机数,并计算其中重复的个数。

1
2
3
4
5
6
7
8
9
10
List<Integer> numberList = Collections.synchronizedList(new ArrayList<>());
//
IntStream.range(0, 100).parallel().forEach(i -> {
numberList.add(new Random().nextInt(100));
});
List<Integer> filterNumberList = numberList.stream().distinct().collect(Collectors.toList());

System.out.println("numberList.size = " + numberList.size());
System.out.println("filterNumberList.size = " + filterNumberList.size());
System.out.println("重复个数:" + (numberList.size() - filterNumberList.size()));