在Java中,我正在实现这个:
List<Entry<String, Integer>> listObjects = new ArrayList<Entry<String, Integer>>();
Run Code Online (Sandbox Code Playgroud)
但是如何添加新条目?
因为它不适用于: listObjects.add(new Entry<"abc", 1>());
提前致谢.
小智 11
我知道这是一个相当老的线程,但你可以这样做:
listObjects.add(new java.util.AbstractMap.SimpleEntry<String, Integer>("abc", 1));
Run Code Online (Sandbox Code Playgroud)
它可能会帮助像我这样的人,他最近试图这样做!
我希望它有所帮助:-)
你的意思是Map.Entry?这是一个接口(因此,如果没有实现类,您无法实例化,您可以在Java教程中了解接口).Entry实例通常只由Map实现创建,只能通过实现Map.entrySet()
当然,因为它是一个接口,你可以添加自己的实现,如下所示:
public class MyEntry<K, V> implements Entry<K, V> {
private final K key;
private V value;
public MyEntry(final K key) {
this.key = key;
}
public MyEntry(final K key, final V value) {
this.key = key;
this.value = value;
}
public K getKey() {
return key;
}
public V getValue() {
return value;
}
public V setValue(final V value) {
final V oldValue = this.value;
this.value = value;
return oldValue;
}
}
Run Code Online (Sandbox Code Playgroud)
这样你就可以做到 listObjects.add(new MyEntry<String,Integer>("abc", 1))
但是,在地图上下文之外,这并没有真正意义.
| 归档时间: |
|
| 查看次数: |
30315 次 |
| 最近记录: |