⦁ 数组去重,例如arr={1,2,3,4,2,10,3},重复的整数2和3仅输出第一次出现的那个,输出1,2,3,4,10
时间: 2024-04-29 14:25:34 浏览: 9
可以使用Set(集合)去重的特性来实现:
```
int[] arr = {1, 2, 3, 4, 2, 10, 3};
Set<Integer> set = new HashSet<>();
for (int i = 0; i < arr.length; i++) {
if (!set.contains(arr[i])) {
System.out.print(arr[i] + " ");
set.add(arr[i]);
}
}
```
输出:1 2 3 4 10
也可以使用双重循环进行遍历和比较,将重复的数字标记为-1,最后输出不为-1的数字:
```
int[] arr = {1, 2, 3, 4, 2, 10, 3};
for (int i = 0; i < arr.length; i++) {
if (arr[i] != -1) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
arr[j] = -1;
}
}
System.out.print(arr[i] + " ");
}
}
```
输出:1 2 3 4 10
相关问题
请实现对象数组去重 let arr = [{id:1},{id:1},{id:3},{id:4},{id:3},{id:5}]
好的,这是一个技术问题,我可以回答。对于这个问题,我们可以使用 ES6 中的 Set 数据结构来去重。具体实现如下:
```
let arr = [{id:1},{id:1},{id:3},{id:4},{id:3},{id:5}]
let uniqueArr = Array.from(new Set(arr.map(obj => JSON.stringify(obj)))).map(str => JSON.parse(str));
console.log(uniqueArr);
// 输出 [{id:1},{id:3},{id:4},{id:5}]
```
其中,我们先将对象数组中的每个对象转换为 JSON 字符串,然后通过 Set 数据结构的去重特性,去除重复的字符串元素。最后再将字符串转换为对象,得到去重后的结果。
打乱数组[1,2,3,4,5]
这里给出一种可能的解法:
```
import random
arr = [1, 2, 3, 4, 5]
random.shuffle(arr)
print(arr)
```
输出:
```
[4, 2, 1, 3, 5]
```
使用 `random.shuffle()` 函数可以直接打乱列表元素的顺序。