【问题标题】:How can I convert the following data into LOOP如何将以下数据转换为 LOOP
【发布时间】:2019-03-29 20:04:07
【问题描述】:

我正在尝试将以下内容转换为循环,但我尝试的一切都是徒劳的 我希望有人帮我将这种类型的数据转换成循环。

ArrayList<String> parentList = new ArrayList<>();
        ArrayList<ArrayList> childListHolder = new ArrayList<>();

        parentList.add("Parent1");
        parentList.add("Parent2");
        parentList.add("Parent3");

        ArrayList<String> childNameList = new ArrayList<>();
        childNameList.add("Child1");
        childNameList.add("Child2");
        childNameList.add("Child3");

        childListHolder.add(childNameList);

        childNameList = new ArrayList<>();
        childNameList.add("Child4");
        childNameList.add("Child5");
        childNameList.add("Child6");

        childListHolder.add(childNameList);

        childNameList = new ArrayList<>();
        childNameList.add("Child7");
        childNameList.add("Child8");
        childNameList.add("Child9");

        childListHolder.add(childNameList);

【问题讨论】:

  • 请分享您的尝试。

标签: java android arraylist


【解决方案1】:

这里不需要循环,也不要使用ArrayList 作为原始类型,而是更喜欢List 接口。使用Arrays.asList(T...) 生成您的List(s)。喜欢,

List<List<String>> childListHolder = new ArrayList<>();
List<String> parentList = Arrays.asList("Fruits & Vegetables", 
        "Beverages & Health", "Home & Kitchen");
childListHolder.add(Arrays.asList("Apple", "Mango", "Banana"));
childListHolder.add(Arrays.asList("Red bull", "Maa", "Horlicks"));
childListHolder.add(Arrays.asList("Knife", "Vessels", "Spoons"));

【讨论】:

  • 我想从 API 获取数据我在日志中得到了完美的结果,但问题在于循环
  • 所以我需要一个循环
【解决方案2】:

相当于你的循环代码是这样的:

ArrayList<String> parentList = new ArrayList<>();
ArrayList<ArrayList> childListHolder = new ArrayList<>();

for (int i = 1; i <= 3; i++) {
    parentList.add("Parent" + i);

    ArrayList<String> childNameList = new ArrayList<>();
    for (int j = 1; j <= 3; j++) {
        childNameList.add("Child" + (3 * (i - 1) + j));
    }
    childListHolder.add(childNameList);
}

【讨论】:

  • 有什么办法可以用嵌套循环做到这一点我不想要多个循环
  • 这是嵌套循环。第一个循环填充parentList。下一个循环使用嵌套循环。
  • 这会为每个父母返回重复的孩子
  • 这是childListHolder 的结果:[[Child1, Child2, Child3], [Child4, Child5, Child6], [Child7, Child8, Child9]]。重复项在哪里?
  • 让我明白我正在获取类别和子类别并从中进行可扩展布局,但我无法设置子类别
猜你喜欢
  • 2021-05-23
  • 2021-08-08
  • 2018-12-13
  • 1970-01-01
  • 1970-01-01
  • 2021-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多