Как я могу преобразовать следующие данные в цикл

#java #android #arraylist

#java #Android #arraylist

Вопрос:

Я пытаюсь преобразовать следующее в цикл, но что бы я ни пробовал, все напрасно, я хочу, чтобы кто-нибудь помог мне преобразовать этот тип данных в цикл.

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

Комментарии:

1. Пожалуйста, поделитесь тем, что вы пробовали.

Ответ №1:

Здесь нет необходимости в циклах, также не используйте ArrayList в качестве raw-типа и предпочитайте List интерфейс. Используйте Arrays.asList(T...) для генерации вашего List (ов). Нравится,

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

Комментарии:

1. Я хочу извлечь данные из API, я получаю идеальный результат в журнале, но проблема в цикле

2. Итак, мне нужен цикл

Ответ №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);
}
  

Комментарии:

1. Есть ли какой-либо способ, которым мы можем сделать это с помощью вложенного цикла, я не хочу, чтобы несколько циклов

2. Это вложенные циклы. Первый цикл заполняется parentList . Следующий цикл использует вложенные циклы.

3. Это возвращает повторяющийся дочерний элемент для каждого родителя

4. Это результат для childListHolder : [[Child1, Child2, Child3], [Child4, Child5, Child6], [Child7, Child8, Child9]] . Где дубликаты?

5. Позвольте мне перейти к сути, я получаю категории и подкатегории и создаю из этого расширяемый макет, и я не могу установить подкатегории