如何实现去除LinkedList中的重复元素? 思路: 1 定义一个新集合,用于存放唯一性的元素 2迭代已有的集合,判断每一个元素是否在新集合中包含,如包含,就 不存储,如不包含就存储 3迭代结束,新集合所放的元素就是去掉重复元素的集合
时间: 2024-12-22 15:26:44 浏览: 7
在Java中,可以使用`LinkedList`和`HashSet`结合来实现去除重复元素。这里是一个简单的示例:
```java
import java.util.*;
public class RemoveDuplicatesFromLinkedList {
public static void removeDuplicates(LinkedList<Integer> list) {
// 创建一个新的HashSet,因为Set不允许有重复元素
HashSet<Integer> uniqueElements = new HashSet<>();
// 遍历原链表
for (Integer num : list) {
// 如果当前元素不在uniqueElements中,说明是新的,添加到HashSet和新链表中
if (!uniqueElements.contains(num)) {
uniqueElements.add(num);
// 使用addFirst()方法添加到新链表的头部保持原有顺序
list.addFirst(num);
}
}
}
public static void main(String[] args) {
LinkedList<Integer> originalList = new LinkedList<>(Arrays.asList(1, 2, 2, 3, 4, 4, 5));
System.out.println("Original List:");
for (int i : originalList) {
System.out.print(i + " ");
}
removeDuplicates(originalList);
System.out.println("\nList with duplicates removed:");
for (int i : originalList) {
System.out.print(i + " ");
}
阅读全文