如何检查字符串的ArrayList是否逐一包含字符串数组中的50个不同的字符串,以及ArrayList中的每个相同的字符串都能做什么?
答案 0 :(得分:4)
您可以使用此函数检查数组中的所有字符串是否也在ArrayList中。如果你想在每次匹配时添加额外的逻辑,比如doSomething(),你应该能够轻松地调整代码。
ArrayList myList; // let's assume its initialized and filled with Strings
String[] strArray; // let's assume its initialized and filled with Strings
//this function returns true if all Strings in the array are also in your arraylist
public boolean containsAll(myList, strArray){
//iterate your String array
for(int i = 0; i < strArray.length; i++){
if(!myList.contains(strArray[i])){
//String is not in arraylist, no need to check the rest of the Strings
return false;
}
}
return true;
}
答案 1 :(得分:2)
为什么不使用LINQ?
List<String> duplicates = YourList.GroupBy(x => x)
.Where(g => g.Count() > 1)
.Select(g => g.Key)
.ToList();
请注意,这将返回新List<string>
中的所有重复项,因此,如果您只想知道源列表中哪些项重复,则可以对结果序列应用Distinct或使用上面给出的解决方案