有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是一个从JSON数组收集数据的arraylist

我花了太多时间阅读java中的列表收集,我找不到比arraylist更好的解决方案来从JSON数组中收集数据,并编辑数据(如果mylist中存在,则按键),或者如果不存在,则将模型放入mylist中。在同一个问题上,我被困在两个不同的项目中

  1. 我无法通过arraylist for loop编辑arraylist中的int类型
  2. 我无法在arraylist中从JSON数组中按键找到模型并编辑新参数

谁能告诉我哪里弄错了? 下面是第一种情况的代码

if (kolekcija.get(Id).isEmpty()){
    kolekcija.get(Id).add(model);
} else {
    try {
        boolean isEmptyModel = false;
        for (int i = 0; i < kolekcija.get(Id).size(); i++){
            if (kolekcija.get(Id).get(i).getName.equals(model.Name)) {
                double dva = kolekcija . get (Id).get(i).getSum();
                kolekcija.get(Id).get(i).setSum(dva + 1.00);
            } else {
                isEmptyModel = true;
            }
        }
        if (isEmptyModel) {
            kolekcija.get(Id).get(i).add(model);
            isEmptyModel = false;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

这是第二种情况的代码

// inside for loop to collect json object
MyModel model = new MyModel();
model.setregister(reg);
boolean isEmptyModel = false;

if(listamodela.size() == 0){
    listamodela.add(model);
}

for(int i = 0; i < listamodela.size(); i++ ){
    if (listamodela.get(i).getregister().equals(reg)) {
        listamodela.get(i).addValueToList(value);
    } else {
        isEmptyModel = true;
    }
}

if(isEmptyModel){
    listamodela.add(model);
    isEmptyModel = false;
}

我尝试过几种解决方案,但我总是遇到同样的问题


共 (1) 个答案

  1. # 1 楼答案

    我希望我正确理解了这个问题,您正在尝试按键保存数据,如果该键已存在于集合中,是否覆盖该数据/是否继续而不覆盖该数据

    如果是这种情况,则可以使用地图集合,而不是列表集合。 映射集合在键和值之间映射,键不能重复两次(键存储在集合中,这意味着不允许重复)

    我建议阅读关于Map和HashMap的内容

    https://www.tutorialspoint.com/java/java_map_interface.htm