有一个包含几个数字的数组。其中找出在Java中的对数(在该数组中包含2次)。假设此数组2中的{2,5,7,8,2,3,5,6,5}包含2次,因此它是对数。
我尝试过这种方式:
HashMap<Integer, Integer> hmap = new HashMap<>();
for (int i = 0; i < arr.length; i++)
{
Integer c = hmap.get(arr[i]);
if (hmap.get(arr[i]) == null)
hmap.put(arr[i], 1);
else
hmap.put(arr[i], ++c);
}
最佳答案
你可以使用流
List<Integer> collect = Stream.of(2, 5, 7, 8, 2, 3, 5, 6, 5)
.collect(Collectors.groupingBy(e -> e)).entrySet().stream()
.filter(e -> e.getValue().size() == 2).map(Map.Entry::getKey)
关于java - 在数组中查找对数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40859410/