最简单的方法是将元素添加到一个set中(不允许重复的元素),然后再将set集合添加到ArrayList:
List<String> al = new ArrayList<>();
// add elements to al, including duplicates
Set<String> hs = new HashSet<>();
hs.addAll(al);
al.clear();
al.addAll(hs);
当然,这个方法会破坏arraylist中的顺序。如果你需要维持插入的顺序,可以用下面的方法:
Set<String> s = new LinkedHashSet<>(list);
在java8中,可以如此表示:
List<String> deduped = list.stream().distinct().collect(Collectors.toList());