【问题标题】:Java: Best way to remove duplicated list in a list [duplicate]Java:删除列表中重复列表的最佳方法[重复]
【发布时间】:2018-03-13 21:30:44
【问题描述】:

我有一个列表:

List<List<Integer>> myList = new ArrayList<>();

删除 myList 中重复列表的最佳方法是什么?

例如,在下面的列表列表中:

[[-1,0,1],[-1,-1,2],[-1,0,1]]

我想把它简化为:

[[-1,0,1],[-1,-1,2]]

谢谢!

【问题讨论】:

  • List&lt;List&lt;T&gt;&gt; 转换为Set&lt;List&lt;T&gt;&gt;
  • new ArrayList&lt;&gt;(new LinkedHashSet&lt;&gt;(myList)).
  • myList.stream().distinct().collect(Collectors.toList())

标签: java arrays arraylist duplicates


【解决方案1】:

最简单的方法是将它复制到一个保持顺序的集合中(或者,更一般地说,任何类型的集合,如果您不关心排序),然后再回到列表中:

myList = new ArrayList<>(new LinkedHashSet<>(myList));

【讨论】:

  • 我无法告诉你这个解决方案对我有多大帮助。谢谢。
【解决方案2】:

使用集合而不是列表。集合不允许重复。 What is the difference between Set and List?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 2015-10-07
    • 2012-07-15
    • 1970-01-01
    • 2017-11-07
    • 1970-01-01
    • 2020-04-22
    相关资源
    最近更新 更多