0

我正在使用多图按长度对单词进行排序。整数是单词的长度。我想知道如何将单词添加到列表中。

Map<Integer, List<String>> mmap = new HashMap<Integer, List<String>>();

假设我有两个词,“bob”和“can”,它们都是 3 个字母。有人可以给我一点关于我将如何做到这一点的指示吗?

4

3 回答 3

3

使用Map.computeIfAbsent您可以创建或检索键的内部集合,然后将其添加到一个整洁的行中:

mmap.computeIfAbsent(word.length(), k -> new ArrayList<>()).add(word);
于 2019-05-12T14:56:09.377 回答
2
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)
}
于 2013-09-20T01:29:00.943 回答
0

使用集合列表。

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);
 }
于 2013-09-20T01:43:44.400 回答