如何从 ArrayList 中删除重复的元素?

2022-08-31 04:17:30

我有一个 ,我想从中删除重复的字符串。我该怎么做?ArrayList<String>


答案 1

如果您不希望在 中包含重复项,则应考虑为什么要使用允许重复项的 。删除重复元素的最简单方法是将内容添加到 (这将不允许重复),然后将返回 :CollectionCollectionSetSetArrayList

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

当然,这会破坏 元素在 中的顺序。ArrayList


答案 2

虽然将 转换为 a 可以有效地删除重复项,但如果您需要保留广告订单,我宁愿建议您使用此变体ArrayListHashSet

// list is some List of Strings
Set<String> s = new LinkedHashSet<>(list);

然后,如果需要取回引用,可以再次使用转换构造函数。List