キーとして文字列を持ち、その値としてセットを持つ2つのマップがあります。これらの2つのマップは、同じキーを共有できます。2つのマップが同じキーを持っている場合、2つのSet値をマージしようとしています。問題は、2番目のマップがnullである可能性があり、2つのマップ間ですべてのキーが共有されているわけではないため、セットもnullになる可能性があることです。私はいくつかのオプションを考え出しましたが、それらはすべてかなり乱雑に見えます。誰かがそれを行うためのより効率的/よりきれいな方法を持っているかどうか疑問に思っていました。これは私がこれまでに持っているものです:
Set<String> mergedSet = (firstMap.containsKey(commonKey)) ? firstMap.get(commonKey) : new HashSet<String>();
mergedSet.addAll(secondMap != null && secondMap.containsKey(commonKey) ? secondMap.get(commonKey) : new HashSet<String>());