Java的:是否可以将字符串值在两个数组比较,如果它们匹配,增加第一阵列中的一个int值?

user10745934:

我想通过添加组成的阵列来构建一个ArrayList String name, double price, int quantity代表不同项目。如果一个项目被添加它等同于一个已在ArrayList中,应该增加quantity,而不是相加。

我的思维过程是如果值以检查索引阵列1 2之间匹配,并且如果他们这样做,所述第一阵列中的增量索引3的值。这东西是可以在Java中呢?你会如何比较已经在列表中一个新的数组的数组?

RPresle:

你或许应该检查你的模型,并使用一个对象。

创建一个包含三个属性的类。然后一个Map<String, YourObject>然后,当你想添加你的对象只是做一个测试之前,

if(map.containsKey(objectName)) {
    YourObject object = map.get(objectName);
    object.setQuantity(object.getQuantity() + 1);
}

编辑与@Eugene讨论后

YourObject objectToAdd = ...
Map<String, YourObject> map = new HashMap<>();
...
YourObject objectInMap = map.get(objectName);
if(objectInMap != null) {
    // increase Quantity in objectInMap 
} else {
    //Object not existing in the map, never added
    //manage initial quantity here
    map.put(objectToAdd.getName(), objectToAdd)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章