有没有办法用 Java 中已经包含的值来初始化 SortedMap<Integer, String> ?

asd*_*sdf 2 java initialization sortedmap data-structures java-8

我想做这样的事情

SortedMap<Integer, String> stuff = new TreeMap<Integer, String>({1:"a",2:"b"});
Run Code Online (Sandbox Code Playgroud)

很像您在 python 中所做的那样,但在 Java 中是可能的,还是调用 .put() 两次的唯一方法?

man*_*uti 6

从 Java 9 开始,您可以执行以下操作:

SortedMap<Integer, String> stuff = new TreeMap<>(Map.of(1, "a", 2, "b"));
Run Code Online (Sandbox Code Playgroud)

Javadoc 链接:

TreeMap(Map<? extends K, ? extends V> m)

Map<K, V> of(K k1, V v1, K k2, V v2)

  • 啊,我使用的是 Java 8,所以我想我必须用老式的方式来做 (4认同)