计数向量出现java

时间:2014-09-18 09:32:41

标签: java eclipse eclipse-rcp

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

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找到它的相应数字的文件

1 个答案:

答案 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]