计算 java 中具有相同散列值的列表的值的数量?

Count number of values of a list having same hash value in java?

我想计算具有相同哈希值的值的数量。 invertedindex 元素 {{I1, I2},"book"}.

//我的代码

for (String s1 : uniquewordslist) 

{

   if (invertedindex.containsKey(s1))

 {

    List<String> l1 = new ArrayList<>();

    l1 = invertedindex.get(s1);
    if (!l1.contains(key)) {
    l1.add(key);

    }
    invertedindex.put(s1, l1);
} 
else {
     List<String> l2 = new ArrayList<String>();

     l2.add(key);

     invertedindex.put(s1, l2);


      }

   int count = Collections.frequency( ?????, invertedindex.values()); // 

   System.out.println(count); 

它总是打印 0。什么应该在???地点

不知道我是否完全理解你想要什么,但如果你想在那个地图中找到有多少条记录有一个值,你应该像这样使用它:

public static void main(String[] args) {
    Map<String, List<String>> invertedindex = new HashMap<String, List<String>>();
    List<String> myList = new ArrayList<>();
    myList.add("firstitem");
    myList.add("seconditem");
    invertedindex.put("book", myList);
    invertedindex.put("book2", myList);
    int count_ = Collections.frequency(invertedindex.values(), myList);
    System.out.println(count_);
}

这将打印 2。