gpt4 book ai didi

java - 获取两个字符串列表中的公共(public)字符串对

转载 作者:行者123 更新时间:2023-12-01 16:34:36 24 4
gpt4 key购买 nike

嗨,我正在两个列表中进行共同计数。
这是我的代码。

    public static int getMatchCount(List<String> listOne, List<String> listTwo) {
String valueOne = "";
String valueTwo = "";
int matchCount = 0;
boolean isMatchedOnce=false;

for (int i = 0; i < listOne.size(); i++) {
valueOne = listOne.get(i);
isMatchedOnce=false;
if (StringUtils.isBlank(valueOne))
continue;

for (int j = 0; j < listTwo.size(); j++) {
valueTwo = listTwo.get(j);
if (StringUtils.isBlank(valueTwo))
continue;

if (valueTwo.equals(valueOne) && (!isMatchedOnce)) {
matchCount++;
listOne.set(i, "");
listTwo.set(j, "");
isMatchedOnce=true;
}
}
}
return matchCount;
}


for ex
listone listTwo
A A
A B
B

那么结果是 2 而不是 3
因为它们只是我们可以取出的两对常见的。

但是该方法非常慢,可以对上述方法进行任何改进以使其更快。

最佳答案

这应该是一个更简单的解决方法:

List<String> listOne = new ArrayList<String>();
//add elements
List<String> listTwo= new ArrayList<String>();
//add elements
List<String> commonList = new ArrayList<String>(listTwo);
commonList.retainAll(listOne);
int commonListSize = commonList.size();

关于java - 获取两个字符串列表中的公共(public)字符串对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10714473/

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