【问题标题】:An arraylist to collect data from JSON array从 JSON 数组收集数据的数组列表
【发布时间】:2019-05-21 16:59:37
【问题描述】:

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

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

谁能告诉我我在哪里搞混了? 这是第一种情况的代码

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;
}

我尝试了几种解决方案 - 包含,但我总是遇到同样的问题。

【问题讨论】:

  • 我还是没有找到好的安卓java编辑器。你不是在用android studio吗?

标签: java android json arraylist


【解决方案1】:

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

如果是这种情况,您可以使用 Map 集合,而不是列表集合。 Map集合映射key和value,一个key不能重复两次(key存储在一个Set集合中,即不允许重复)。

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

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

【讨论】:

    猜你喜欢
    • 2021-05-12
    • 1970-01-01
    • 2016-01-19
    • 1970-01-01
    • 2019-07-02
    • 2021-11-02
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    相关资源
    最近更新 更多