java7-6 链表去重
时间: 2024-10-11 13:14:28 浏览: 41
Java算法篇-链表去重与合并.pptx.pptx
在Java 7及以上版本中,可以使用HashSet数据结构来去除链表(LinkedList)中的重复元素。HashSet不允许有重复的元素,所以你可以遍历链表,将每个元素添加到HashSet中,如果添加成功(即元素不在集合中),则说明该元素是唯一的,不需要重复。
以下是简单的步骤:
```java
import java.util.HashSet;
import java.util.LinkedList;
public class LinkedListNoDuplicates {
public static void removeDuplicates(LinkedList<String> list) {
HashSet<String> set = new HashSet<>(list);
list.clear();
list.addAll(set);
}
// 示例
public static void main(String[] args) {
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("a");
linkedList.add("b");
linkedList.add("c");
linkedList.add("d");
linkedList.add("b"); // 重复元素
System.out.println("Before removing duplicates:");
for (String s : linkedList) {
System.out.print(s + " ");
}
removeDuplicates(linkedList);
System.out.println("\nAfter removing duplicates:");
for (String s : linkedList) {
System.out.print(s + " ");
}
}
}
```
在这个例子中,`removeDuplicates`方法首先创建一个HashSet,并将链表的内容复制进去,自然就去除了重复项。然后清空原来的链表,再将HashSet的所有元素添加回去,得到的就是去重后的链表。
阅读全文