我可以使用哪个泛型集合类来同时提供映射和类似数组的功能。例如,我希望将一个字符串映射为双精度值,并希望使用键作为索引来引用该值。
collection[key] = collection[key] + doubleGoogle集合库提供这样的功能吗?
谢谢。
发布于 2009-07-15 20:42:59
Java不允许您对集合使用括号语法,但您可以这样做:
HashMap<String, Double> collection = new HashMap<String, Double>();
String key = "some key";
...
if( collection.containsKey(key) )
{
// increment the value
collection.put( key, collection.get( key ) + 1.0 );
}
else
{
// initialize the value
collection.put( key, 0.0 );
}发布于 2009-07-15 20:30:51
HashMap应该服务于您的目的:
https://docs.oracle.com/javase/1.5.0/docs/api/java/util/HashMap.html
发布于 2009-07-15 20:33:48
你必须在这里做出选择:-)或者你的key是一个字符串:
Map<String, Double> myMap = new HashMap<String, Double>();
myMap.put("key1", 5.0); // caution - auto-wrap
myMap.put("key1", myMap.get("key1") + 5.0); // caution - auto-wrap或者它是一个int:
double[] myArray = new double[size];
int key1 = 1;
myArray[key1] = 5.0;
myArray[key1] += 5.0;https://stackoverflow.com/questions/1133809
复制相似问题