相当于 Java 映射中的 C# 字典方法 "TryGetValue()"

equivalent of C# dictionary method "TryGetValue()" in Java map

我正在将一个项目从 C# 迁移到 java,我遇到了 TryGetValue() 方法的问题!

这是 C# 代码:

private static void _AddBadQualityChar (Dictionary<string,List<string>> badQualityChars, string charString, string badQualityChar)
        {
            List<string>        _badQualityChars;

            if (!badQualityChars.TryGetValue (charString, out _badQualityChars))
            {
                _badQualityChars = new List<string> ();
                badQualityChars [charString] = _badQualityChars;
            }

            _badQualityChars.Add (badQualityChar);
        }

我不知道 java 映射中 TryGetValue() 方法的等价物是什么,我能找到的只是 get() 方法,它不是 return 布尔值!如何在 Java 中编写此函数?

对于 Java 映射,等效的方法调用将是 Map.containsKey(key),如下所示: https://docs.oracle.com/javase/8/docs/api/java/util/Map.html#containsKey-java.lang.Object-

在没有学习至少基础知识的情况下,不要尝试盲目地在不同语言之间复制和粘贴代码。在 Java 中,不要克隆您的代码,而是这样做:

Map<String, List<String>> badChars = new HashMap<>();
...
badChars.computeIfAbsent(key, __ -> new ArrayList<>())
  .add(badChar);

您的用例实际上是 the example provided in the documentation