如何在Arraylist <model> android中添加项目

时间:2017-09-20 15:47:45

标签: java android arraylist

如何在Arraylist android中添加项目

我有模型(没有构造函数,有setter和getter)

private int user_id;
private String firstname;
private String lastname;
private String pic;

和我的代码

List<MeModel> meModels = new ArrayList<>();

meModels.clear();
meModels.get(0).setFirstname("Hello");
meModels.get(0).setLastname("World");

它不起作用。

如何添加此内容,谢谢!

4 个答案:

答案 0 :(得分:4)

申请List#clear()后会清空您的列表,这样您就无法再访问任何项目

List<MeModel> meModels = new ArrayList<>();

meModels.clear();
meModels.add(new MeModel(...));
// ^^^^^ add item
meModels.get(0).setFirstname("Hello"); // get item
meModels.get(0).setLastname("World");

答案 1 :(得分:1)

必须返回IndexOutOfBoundsException。因为列表中没有项目。为什么不为模型创建构造函数?如果我是你,我会创建一个构造函数并执行以下操作:

Model model = new Model();
model.setBlahBlah(..);
meModels.add(model);

答案 2 :(得分:0)

根据Pavneet_Singh的建议,您必须首先添加一个项目然后才能访问它。喜欢这个

List<MeModel> meModels = new ArrayList<>();
meModels.clear();
meModels.add(new MeModel());
meModels.get(0).setFirstname("Hello");
meModels.get(0).setLastname("World");

无论如何,更高效的方法是首先对对象进行构造,然后将其添加到ArrayList,如下所示:

List<MeModel> meModels = new ArrayList<>();
meModels.clear();
MeModel meMod = new MeModel()
meMod.setFirstname("Hello");
meMod.setLastname("World");
meModels.add(meMod);

这是因为您可以通过这种方式看到为每一行保存一个呼叫,即get(0)。这似乎是一件愚蠢的事情,但是在一个大的迭代中,或者在一个旧的,功能较弱的设备上它可能很重要

答案 3 :(得分:0)

清除数据后,您如何访问该对象。 首先使用add()方法添加对象,然后可以访问这些模型