java 中的Arraylist 如何实现去重
时间: 2024-02-12 08:07:00 浏览: 75
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 对象去重
要对 ArrayList 对象进行去重,你可以使用以下步骤:
1. 创建一个新的 ArrayList 对象来存储去重后的元素。
2. 遍历原始的 ArrayList 对象中的每个元素。
3. 检查新的 ArrayList 对象中是否已经包含当前元素,如果不包含则添加到新的 ArrayList 中。
4. 最后,新的 ArrayList 对象中就是去重后的结果。
下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.HashSet;
public class ArrayListDuplicateRemoval {
public static void main(String[] args) {
ArrayList<Integer> listWithDuplicates = new ArrayList<>();
listWithDuplicates.add(1);
listWithDuplicates.add(2);
listWithDuplicates.add(3);
listWithDuplicates.add(2);
listWithDuplicates.add(4);
listWithDuplicates.add(1);
ArrayList<Integer> listWithoutDuplicates = new ArrayList<>(new HashSet<>(listWithDuplicates));
System.out.println("Original ArrayList with duplicates: " + listWithDuplicates);
System.out.println("ArrayList after removing duplicates: " + listWithoutDuplicates);
}
}
```
这个示例中,我们使用了 HashSet 来实现去重操作。 HashSet 是一个不允许有重复元素的集合,通过将原始 ArrayList 转换为 HashSet,然后再转换回 ArrayList,就可以去除重复的元素。
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中的重复元素了。
阅读全文