如果要声明常量映射,则可以使用Java 11进行此操作:
Map<String, String> map = Map.of(
key, value,
key, value,
etc. etc
)
出于我的目的,我需要LinkedHashMap,因为我需要确保定义键值对的顺序安全,主要是因为我需要流式传输并在映射中找到第一个元素。
类似:
return map.entrySet().stream()
.filter(o -> o.getValue != null))
.findFirst()
.map(Map.Entry::getKey)
任何提示?
Map<String, String> map = new LinkedHashMap<>();
map.put( "key1", "value1" );
map.put( "key2", "value2" );
…
map = Collections.unmodifiableMap( map );
您不能使用Map.of()
,因为这不会保留输入顺序。另外,Map.of()
将不接受null
值,无论是键还是该值。根据第二个代码片段,您将期望一些链接到null
的键。