我正面临一个似乎没有直接解决方案的问题.
我正在使用java.util.Map,我想更新键值对中的值.
现在,我正在这样做:
private Map<String,int> table = new HashMap<String,int>();
public void update(String key, int val) {
if( !table.containsKey(key) ) return;
Entry<String,int> entry;
for( entry : table.entrySet() ) {
if( entry.getKey().equals(key) ) {
entry.setValue(val);
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
那么有没有任何方法,以便我可以获得所需的Entry对象,而不必遍历整个Map?或者有没有办法更新条目的价值?在一些方法Map一样setValue(String key, int val)?
JRH
如果我们可以创建矢量图或集合图,我不明白为什么存在多图.对我来说,唯一的区别是:
equal_range在多重映射为获得一个关键的要素和载体,我们只需使用的地图[]运营商,拥有元素的矢量.multimap.insert(make_pair(key,value))在多重映射为添加元素和map_of_vectors[key].push_back(value)在载体的图谱.那么为什么要使用multimap呢?对我来说,最好有一个向量而不是两个迭代器来获取一个键的所有值.
此问题也适用于vector和unordered_multimap的unordered_map.
我想创建一个map包含条目的条目(int, Point2D)
我怎么能用Java做到这一点?
我尝试了下面的失败.
HashMap hm = new HashMap();
hm.put(1, new Point2D.Double(50, 50));
Run Code Online (Sandbox Code Playgroud) 我知道String类的hashCode()方法不能保证为不同的String-s生成唯一的哈希码.我看到很多使用将String键放入HashMap-s(使用默认的String hashCode()方法).如果地图put替换了之前使用真正不同的String键放入地图的HashMap条目,则大量此类使用可能会导致严重的应用程序问题.
您将遇到String.hashCode()为不同的String-s返回相同值的场景的几率是多少?当密钥是String时,开发人员如何解决此问题?
我有一个java.util.Map从逻辑名称映射到要与该名称一起使用的一组参数.
Map<String,Parameters> howShouldINameThee = ...;
Run Code Online (Sandbox Code Playgroud)
这张地图最好的名字是什么?
我应该简单地打电话给这个parameters还是parametersMap?
我是否在名称中包含有关键的信息,paramtersByName以便如何使用String键更明显?
map<string, string> dada;
dada["dummy"] = "papy";
cout << dada["pootoo"];
Run Code Online (Sandbox Code Playgroud)
我很困惑,因为我不知道它是否被认为是未定义的行为,如何知道我何时请求一个不存在的密钥,我只是使用find而不是?
我想将视频中的音频放到另一个没有音频的视频中(在一个命令中):
ffmpeg.exe -i video1_noAudio.mov -i video2_wAudio.mov -vcodec copy -acodec copy video1_audioFromVideo2.mov
Run Code Online (Sandbox Code Playgroud)
我猜"-map"是正确的方法,但我对此感到困惑.
你能建议如何解决吗?
mapGroovy中有方法吗?我想做一些像我使用以下Scala片段的事情:
scala> val l = List(1, 2, 3)
l: List[Int] = List(1, 2, 3)
scala> l.map(_ + 1)
res0: List[Int] = List(2, 3, 4)
Run Code Online (Sandbox Code Playgroud) 是否有一个很好的方法来Map<String, ?>获得并放弃忽略案例?