从列表中删除重复项而不迭代它或使用集合

时间:2012-04-29 08:56:37

标签: java arraylist

  

可能重复:
  More efficient way to remove elements from an array list

我开发了一个数组列表

ArrayList<String> list = new ArrayList<String>();

       list.add("1");
       list.add("2");
       list.add("3");
       list.add("3");
       list.add("5");
       list.add("6");
       list.add("7");
       list.add("7");
       list.add("1");
       list.add("10");
       list.add("2");
       list.add("12");

现在我试图从中删除重复的元素,但这次我不想将其转换为集合或在列表本身中具有迭代循环,我正在尝试任何内置的List或Collections类方法删除重复或有任何其他方法来实现这一点,请提前,谢谢提前

2 个答案:

答案 0 :(得分:3)

根本没有解决方案。首先不要使用List - 使用Set。如果您担心保留插入顺序,则会LinkedHashSet。如果您需要从方法中返回List,请使用LinkedHashSet,然后将其转换为List;或者考虑返回Collection,而不是List

答案 1 :(得分:-2)

List<String> list = new List<String>();

...

list = list.Distinct().ToList<String>();