如何在java中轻松删除链表中的重复项?

时间:2009-05-29 15:51:54

标签: java linked-list

如何在java中轻松删除链表中的重复项?

4 个答案:

答案 0 :(得分:16)

改为使用LinkedHashSet,然后您就不会有重复项。

答案 1 :(得分:9)

我不知道您的要求是否使用链接列表但如果不是,请使用Set而不是List(您将问题标记为'best-practices')

答案 2 :(得分:3)

轻松的是什么?如果它是一个相当短的列表,最简单的解决方案是将其转储到Set,然后再转回List。

myList = new LinkedList<Whatever>(new HashSet<Whatever>(myList));

但为什么要为此烦恼呢?如果你不想要重复,你应该使用Set;如果你只想要一个列表,以便你可以保持元素的插入顺序相同,你可以使用LinkedHashSet来充分利用这两个世界:Set可预测地迭代{ {1}}。

答案 3 :(得分:2)

搜索它们,如果两个代表相同的东西,则删除其中一个。

你还想要什么?您想获得有关如何快速完成此操作的建议吗?如果是这种情况,请将节点存储在哈希表中,以便在查找重复项时轻松匹配。