计算 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。
我想计算具有相同哈希值的值的数量。 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。