How do I remove repeated elements from ArrayList?

user25778 picture user25778 · Oct 15, 2008 · Viewed 798.3k times · Source

I have an ArrayList<String>, and I want to remove repeated strings from it. How can I do this?

Answer

jonathan-stafford picture jonathan-stafford · Oct 15, 2008

If you don't want duplicates in a Collection, you should consider why you're using a Collection that allows duplicates. The easiest way to remove repeated elements is to add the contents to a Set (which will not allow duplicates) and then add the Set back to the ArrayList:

Set<String> set = new HashSet<>(yourList);
yourList.clear();
yourList.addAll(set);

Of course, this destroys the ordering of the elements in the ArrayList.