我正在使用多图按长度对单词进行排序。整数是单词的长度。我想知道如何将单词添加到列表中。
Map<Integer, List<String>> mmap = new HashMap<Integer, List<String>>();
假设我有两个词,“bob”和“can”,它们都是 3 个字母。有人可以给我一点关于我将如何做到这一点的指示吗?
使用Map.computeIfAbsent
您可以创建或检索键的内部集合,然后将其添加到一个整洁的行中:
mmap.computeIfAbsent(word.length(), k -> new ArrayList<>()).add(word);
If(mmap.containsKey(word.length())){
mmap.get(word.length()).add(word);
}else{
List<String> list = new LinkedList<String>;
list.add(word);
mmap.put(word.length(), list)
}
使用集合列表。
private final List<Set<String>> list = new ArrayList<>();
public void add(String word) {
while(list.size() <= word.length()) list.add(new HashSet<>());
list.get(word.length()).add(word);
}