有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (5) 个答案

  1. # 1 楼答案

    要获得像getKey这样的方法,需要一个双向哈希映射,它支持从值到键的查找,如Does Java have a HashMap with reverse lookup?中所述。apachecommons(BiDiMap)或番石榴(BiMap)似乎提供了此功能

    或者,您可以使用Amith提出的迭代方法

  2. # 2 楼答案

    亲爱的朋友,您的代码中有一个问题。 当你有唯一的ID作为你的值时,你可以使用这个ID作为hashmap键,你不需要做任何复杂的编码。只要这样做:

    private static HashMap<UUID, ObjectClass> projectileSet = new HashMap<UUID, ObjectClass>();
    

    然后:

    projectileSet.get(uniqueId);
    
  3. # 3 楼答案

    您无法在标准java映射中直接获得该特性。因为java映射不支持反向视图,所以从给定的值获取密钥。为此,最好使用双向映射实现。其中一个例子:BiMap

  4. # 4 楼答案

    通过使用keySet(),您可以。。。它将以集合的形式返回所有键

  5. # 5 楼答案

    您可以使用“KeySet()”方法从HashMap返回密钥

    HashMap objH=new HashMap<>();
    Set objSet=objH.keySet();
    public static LegendaryItem getClass(UUID uniqueId) {
        Iterator objItr=objSet.iterator();
        while(objItr.hasNext()){
            UUID objStr=(UUID) objItr.next();
            if(objStr.equals(uniqueId)){
                return objStr;
            }
        }
    }
    

    迭代ObjSet并获取每个键