从 JSON 数组收集数据的数组列表
Posted
技术标签:
【中文标题】从 JSON 数组收集数据的数组列表【英文标题】:An arraylist to collect data from JSON array 【发布时间】:2019-05-21 16:59:37 【问题描述】:我花了太多时间阅读 java 中的列表 - 集合,我找不到比 arraylist 更好的解决方案来从 JSON 数组中收集数据并编辑数据(如果在 mylist 中通过键存在或不存在则将模型放入 mylist .我在同一个问题上陷入了两个不同的项目。
-
我无法通过 arraylist for 循环在我的 arraylist 中编辑 int 类型。
我无法通过 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吗? 【参考方案1】:我希望我正确理解了这个问题,您正在尝试按键保存数据,如果集合中已经存在该键,请覆盖该数据/继续而不覆盖该数据?
如果是这种情况,您可以使用 Map 集合,而不是列表集合。 Map集合映射key和value,一个key不能重复两次(key存储在一个Set集合中,即不允许重复)。
我建议阅读有关 Map 和 HashMap 的内容。
https://www.tutorialspoint.com/java/java_map_interface.htm
【讨论】:
以上是关于从 JSON 数组收集数据的数组列表的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Retrofit 从 Json 数组列表中检索 MpAndroid 图表内的数据?