Java:如何保存SET 作为HashMap中的值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java:如何保存SET 作为HashMap中的值?相关的知识,希望对你有一定的参考价值。
我希望有以下数据结构来存储具有多个ID(int)的单词,但我不知道如何将键值对放入以下变量“myWord”
Map<String, Set<Integer>> myWord = new HashMap<String, Set<Integer>>();
myWord.put(“word1”,如何将ID添加到此处的Set?)
谢谢
答案
Map<String, Set<Integer>> myWord = new HashMap<String, Set<Integer>>();
Set<Integer> mySet = new HashSet<Integer>();
myWord.put("word1", mySet);
另一答案
Set<Integer> mySet = new HashSet<Integer>(); // create a set of IDs
mySet.add(1); // add Id to set
mySet.add(2); // add Id to set
myWord.put("word1", mySet); // finally put set in your map
另一答案
Set<Integer> set=new HashSet<>();
set.add(id);// Similarly all ids here
myWord.put("word1", set)
另一答案
Set mySet = new HashSet<Integer>();
mySet.add(3);
Map<String, Set<Integer>> myWord = new HashMap<String, Set<Integer>>();
myWord.put("word1", mySet);
另一答案
您也可以考虑使用HashMultimap,它更强大地代表您正在尝试构建的数据结构。
Multimap<String, Integer> myWord = HashMultimap.create();
myWord.put("word1", 2);
另一答案
Set<Integer> mySet = new HashSet<Integer>(); // create a set of ids for each word
mySet.add(1); // add Id to the set
mySet.add(2); // add Id to the set
myWord.put("word1", mySet); // for every word put the corresponding set in the map
另一答案
Map<Integer, Set<Integer>> adjacent = new HashMap<Integer,Set<Integer>>(n);
for (int i = 0; i < m; i++) {
int nodeA = s.nextInt();
int nodeB = s.nextInt();
if (!adjacent.containsKey(nodeA)) { **checking if the nodes contains A**
adjacent.put(nodeA, new HashSet<Integer>()); **If node A is not present it is being added**
}
adjacent.get(nodeA).add(nodeB); **At the end node B is added to node A's list**
}
以上是关于Java:如何保存SET 作为HashMap中的值?的主要内容,如果未能解决你的问题,请参考以下文章
Set(一):HashSet、LinkedHasSet源码浅析
新手小白学JAVA Set HashSet Map HashMap