gpt4 book ai didi

java - java 计算 vector 出现次数

转载 作者:行者123 更新时间:2023-12-01 12:31:08 25 4
gpt4 key购买 nike

我有两个包含类似内容的列表:

List1            List2

name.txt 145
name.txt 132
else.txt 145
name.txt 145
else.txt 145

我需要计算list1中每个文件出现了多少list2数字:

结果应该是这样的:

145       2 occurrences in name.txt
145 2 occurrences in else.txt
132 1 occurrence in name.txt

如何使用 map 来做到这一点?

编辑:我尝试使用另一个列表:

    ArrayList<String> newList2 = new ArrayList<String>();

for(int i=0;i<List2.size();i++)
{
if(List1.get(i).toLowerCase()==fileName.toLowerCase())
{
newErrorIDList.add(List2.get(i));
}
}

P.S.:fileName 是一个外部变量,其中包含我要在其中查找 list2 中对应数字的出现的文件

最佳答案

如果你可以使用外部库,你可以使用 guava 的 MultiSet + commons 的 Pair:

假设两个列表具有相同的大小:

import org.apache.commons.lang3.tuple.Pair;
import com.google.common.collect.HashMultiset;
import com.google.common.collect.Multiset;

Multiset<Pair<String, String>> set = HashMultiset.create();
for (int i = 0; i < List2.size(); i++) {
set.add(Pair.of(List1.get(i), List2.get(i)));
}
System.out.println(set);

=> 给出 [(else.txt,145) x 2, (name.txt,132), (name.txt,145) x 2]

关于java - java 计算 vector 出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25909055/

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