java基础:数组查询,同一数组一个元素最多出现两次
时间: 2024-01-14 11:05:05 浏览: 70
如果要查询一个数组中一个元素最多出现两次,可以使用HashMap来统计每个元素出现的次数,然后遍历HashMap,将出现次数大于2的元素从数组中删除即可。
以下是Java代码示例:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 2, 1, 4, 5, 6, 5, 7};
Map<Integer, Integer> map = new HashMap<>();
// 统计每个元素出现的次数
for (int i : arr) {
if (map.containsKey(i)) {
map.put(i, map.get(i) + 1);
} else {
map.put(i, 1);
}
}
// 将出现次数大于2的元素从数组中删除
List<Integer> list = new ArrayList<>();
for (int i = 0; i < arr.length; i++) {
if (map.get(arr[i]) > 2) {
list.add(i);
map.put(arr[i], map.get(arr[i]) - 1);
}
}
for (int i = list.size() - 1; i >= 0; i--) {
int index = list.get(i);
for (int j = index; j < arr.length - 1; j++) {
arr[j] = arr[j + 1];
}
}
// 输出结果
System.out.println(Arrays.toString(arr));
}
}
```
输出结果为:[1, 2, 3, 2, 1, 4, 5, 5, 6, 7]
阅读全文