我有两个包含类似内容的列表:
List1 List2
name.txt 145
name.txt 132
else.txt 145
name.txt 145
else.txt 145
我需要计算list1中每个文件的list2数量的出现次数:
结果应该是这样的:
145 2 occurences in name.txt
145 2 occurences in else.txt
132 1 occurence in name.txt
如何使用地图执行此操作?
编辑:我尝试使用另一个列表:
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找到它的相应数字的文件
答案 0 :(得分:1)
如果你可以使用外部库,你可以使用番石榴的MultiSet + commons&#39;对:
假设两个列表具有相同的大小:
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);
=&GT;给[(else.txt,145)x 2,(name.txt,132),(name.txt,145)x 2]