java检查HashMap值是否相等
我需要写一个循环,看看HashMap中的值是否相等,如果相等,看看它们出现了多少次。数字集将通过扫描仪输入(下面是输入示例)。下面的代码将把count键和HashSet的值放入hashMap中
public static void main(String[] args) {
System.out.println("Type in your numbers followed by spaces and press enter");
System.out.println("After every set entered type in any letter to enter more sets");
System.out.println("Or enter * to finish");
HashMap<Integer, HashSet<Integer>> hset = new HashMap<>();
Scanner sc = new Scanner(System.in);
int count = 1;
HashSet<Integer> list = new HashSet<>();
while(sc.hasNextLine()) {
while(sc.hasNextInt()) {
list.add(sc.nextInt());
}
hset.put(count, new HashSet<>(list));
count++;
list.clear();
sc.nextLine();
if(sc.nextLine().equals("*")) {
System.out.println("working");
break;
}
}
for(int i=0; i<count; i++){
//some code goes here
//if(hset.get(x) == hset.get(j)) or something along these lines
}
}
//Sample Scanner input
1 2 3 4 5
10 9 8 7
5 4 3 2 1
1 1 1 1 1
1 2 3 5
1 2 3 6
6 4 2
2 4 6
4 2 6
4 6 2
6 2 4
1 3 2 4 5
15 14 13
5 3 2 1
79
7 9
//What I need the output to look like
[7, 9]=1
[1]=1
[7, 8, 9, 10]=1
[13, 14, 15]=1
[1, 2, 3, 5]=2
[1, 2, 3, 6]=1
[2, 4, 6]=5
[1, 2, 3, 4, 5]=3
[79]=1
# 1 楼答案
在列表形式的列表中输入上述内容后,您可以按如下方式进行操作:
sets
在不考虑顺序的情况下进行同等比较李>Map<Set<Integer>, Long>
印刷品
# 2 楼答案
我会这样做:
问题中的数字,更改为适合打印说明
输出