java 中的Arraylist 如何实现去重
时间: 2024-02-12 13:07:00 浏览: 79
Java中的ArrayList可以通过遍历List中的元素,然后将每个元素与其它元素做比较,判断是否重复,进而实现去重。具体实现可以使用两层循环,外层循环遍历整个List,内层循环遍历外层循环之后的元素,判断是否有重复元素,如果有则将其删除。以下是一个示例代码:
```
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(1);
list.add(4);
list.add(2);
for (int i = 0; i < list.size() - 1; i++) {
for (int j = i + 1; j < list.size(); j++) {
if (list.get(i).equals(list.get(j))) {
list.remove(j);
j--;
}
}
}
System.out.println(list); // [1, 2, 3, 4]
```
这段代码会输出去重后的ArrayList,即 [1, 2, 3, 4]。其中,如果两个元素相等,则将后面的元素删除,并将下标j减1,以便下一次比较。
相关问题
ArrayList数组去重
可以使用Java中的Set集合来实现ArrayList数组去重。具体步骤如下:
1. 创建一个新的HashSet集合,用于存放不重复的元素。
2. 使用addAll()方法将原始的ArrayList数组中的元素添加到HashSet集合中。
3. 创建一个新的ArrayList集合,用于存放去重后的元素。
4. 使用addAll()方法将HashSet集合中的元素添加到新的ArrayList集合中。
5. 返回新的ArrayList集合。
示例代码如下:
```java
import java.util.ArrayList;
import java.util.HashSet;
public class ArrayListRemoveDuplicate {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(1);
list.add(2);
ArrayList<Integer> newList = removeDuplicate(list);
System.out.println(newList);
}
public static ArrayList<Integer> removeDuplicate(ArrayList<Integer> list) {
HashSet<Integer> set = new HashSet<>(list);
ArrayList<Integer> newList = new ArrayList<>(set);
return newList;
}
}
```
输出结果为:[1, 2, 3]。
arraylist如何去重
可以使用Java中的HashSet来去重。具体步骤如下:
1. 创建一个空的HashSet对象。
2. 遍历ArrayList中的所有元素,将它们添加到HashSet中。
3. HashSet会自动去重,最后将HashSet转换成ArrayList即可。
示例代码如下:
```java
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
list.add("A");
list.add("D");
HashSet<String> set = new HashSet<String>(list);
list.clear();
list.addAll(set);
System.out.println(list); // 输出 [A, B, C, D]
```
这样就可以去除ArrayList中的重复元素了。
阅读全文