【问题标题】:How to add item in Arraylist<Model> android [duplicate]如何在Arraylist <Model> android中添加项目[重复]
【发布时间】:2018-03-01 18:41:30
【问题描述】:

如何在 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");

它不工作。

如何添加这个,谢谢!

【问题讨论】:

  • meModels.add(new MeModel(...))clear 在哪里从列表中删除所有内容
  • @Pavneet_Singh 哦,谢谢!!!!我忘记了!
  • 你为什么要清除列表?清除后如何从列表中获取数据?

标签: java android arraylist


【解决方案1】:

应用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");

【讨论】:

  • 我很高兴能帮上忙,不用担心,您不必对自己发表评论,有时会发生,祝您编码愉快
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    按照 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)。这似乎是一件愚蠢的事情,但在大迭代或旧且功能较弱的设备上,它可能很重要

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 2016-09-22
        • 1970-01-01
        • 2015-08-24
        • 2014-09-09
        • 1970-01-01
        • 2014-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多