java - 如何从 HashMap 中返回键列表?

标签 java hashmap

我目前正在尝试制作一个将动词变位成西类牙语的程序。我创建了一个哈希表,其中包含一个键和对象动词的实例化。键是具有动词不定式形式的字符串(例如,“hablar”)。这是我到目前为止的 HashMap 代码:

public class VerbHashMap {

    HashMap<String, Verb> verbHashMap;

    public VerbHashMap(){
        verbHashMap = new HashMap();
    }   
}

HashMap 中每个动词的键都是基于动词的不定式。例如,字符串“hablar”是西类牙语动词的键。 Verb 类有一个名为 getInfinitive() 的方法,它返回一个包含动词不定式形式的字符串。

public boolean addVerb(Verb verb){
    if(verbHashMap.containsValue(verb.getInfinitive()){
        return false;
    }
    else{
        verbHashMap.put(verb.getInfinitive(), verb);
        return true;
    }
}

问题是创建按字母顺序返回 HashMap 中所有动词列表的方法的最有效方法是什么?我是否应该让该方法返回一个 ArrayList,其中包含 Hash Map 中所有对象的键?还是有更有效的方法来解决这个问题?

最佳答案

使用 keySet() 方法返回一个集合,其中包含 Map 的所有键。

如果您想保持 map 有序,可以使用 TreeMap .

关于java - 如何从 HashMap 中返回键列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6589744/

相关文章:

Java - 重写 hashCode 和 toString

java - 另一种方法不允许我访问 HashMap 值

java - 通过获取用户的输入来使用 Map<Integer,Integer>

java - 重新启动/加载另一个 fragment |安卓

java - 在 Java Collections Map<Key,?> 中 "?"指的是什么?

grails - 如何有条件地在hashmap key:value对中设置值?

java - 将 Web 元素导入 Excel 时出现空指针异常

java - 在联系人数据库中快速搜索子串的算法

c# - 使用 WCF 服务时发生 Java 错误

java - ComparisonCountingSort伪代码难度