有什么方法可以将整个 Entry
对象放入 Map
对象,例如:
map.put(entry);
而不是像这样传递键值对:
map.put(key,value);
原文由 pgmank 发布,翻译遵循 CC BY-SA 4.0 许可协议
有什么方法可以将整个 Entry
对象放入 Map
对象,例如:
map.put(entry);
而不是像这样传递键值对:
map.put(key,value);
原文由 pgmank 发布,翻译遵循 CC BY-SA 4.0 许可协议
要使用条目实例化地图(与您在 Google Guava 库中所做的 Arrays.asList(T... a)
或 Sets.newHashSet(T... a)
相同的方式,我发现了这个:
import java.util.AbstractMap;
import java.util.Map;
public class MapWithEntries {
private static final Map.Entry<String, String> ENTRY_1 = new AbstractMap.SimpleEntry<>("A", "Hello");
private static final Map.Entry<String, String> ENTRY_2 = new AbstractMap.SimpleEntry<>("B", "World");
private static final Map<String, String> MAP_WITH_ENTRIES = Map.ofEntries(ENTRY_1, ENTRY_2);
}
原文由 Matt De Poorter 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
我搜索了 Map 接口方法,但没有方法可以获取条目并将其放入地图中。因此,我使用一点点继承和 Java 8 接口自己实现了它。
MyMap
接口只是通过添加一种方法扩展Map
接口的接口,public default V put(Entry<K,V> entry)
。除了仅定义方法外,还对默认实现进行了编码。这样做,我们现在可以将此方法添加到任何实现Map
接口的类,只需定义一个实现MyMap
接口的新类并扩展我们选择的地图实现类。所有这些都在一行中!这在上面代码的底部进行了演示,其中创建了两个类,每个类都扩展了 HashMap 和 TreeMap 实现。