gpt4 book ai didi

java - 在我的例子中比较 Set 和 List

转载 作者:行者123 更新时间:2023-11-30 06:21:59 25 4
gpt4 key购买 nike

我有一个 List<Integer> ,此列表包含重复的元素:

//myList content is something like e.g. 1,2,1,3,3,6,7,...
List<Integer> myList = getNumbers();

我还有一个 Set<String> ,众所周知,Set只包含独特的元素,没有重复的元素。我的Set<String>包含字符串类型整数:

//The Set content is String type integer , e.g. "1", "3", "5" …
Set<String> mySet = getNumSet();

我想比较mySetmyList弄清楚是什么元素mySet有但是myList没有并从 mySet 中删除这些元素.

我现在的做法是使用嵌套迭代,如下所示:

for(Integer i : myList){
for(String s : mySet){
if(!myList.contains(Integer.valueOf(s))){
mySet.remove(s);
}
}

}

有没有比我更有效的方法呢?

最佳答案

最简单的方法可能是使用 Collection#retainAll(Collection<?> c) 这可以通过对集合类型的函数进行一些优化来实现。

mySet.retainAll(myList)

但是mySetmyList必须是 Set<X>List<X> .我建议你更改 mySet 的声明并用类似 Integer#valueOf(String s) 的内容填充它, 然后使用 retainAll方法。

关于java - 在我的例子中比较 Set 和 List,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19785438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com