Как преобразовать ArrayList<ArrayList> в строку[][]?

#java #arraylist

#java #arraylist

Вопрос:

Вы можете преобразовать в ArrayList<String> с String[] помощью:

 ArrayList<String> stringList = new ArrayList<String>();
stringList.add("one");
stringList.add("two");
String[] strings1 = Arrays.copyOf(stringList.toArray(), stringList.toArray().length, String[].class);
  

Но как преобразовать ArrayList<ArrayList<String>> в String[][] ?

 ArrayList<ArrayList<String>> listOfStringLists = new ArrayList<ArrayList<String>>();
  

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

1. Вы ответили на свои собственные вопросы одновременно с публикацией?

2. Да, переполнение стека дает вам возможность отправлять ответ при публикации вопроса. Я потратил некоторое время на поиск и ничего не смог найти, поэтому я опубликовал свой метод, который работает. Но вы можете представить любые лучшие решения!

3. Вы ответили через 4-5 секунд. Я думаю, вы пытались опубликовать какое-то руководство по преобразованию. Я не уверен, разрешено это или нет. В любом случае, это звучало как вопрос.

Ответ №1:

 String[][] strings2 = convertStringArrayList(listOfStringLists);
  

Преобразовать ArrayList<ArrayList<String>> в String[][] метод:

 private String[][] convertStringArrayList( ArrayList<ArrayList<String>> listOfStringLists ) {
    String[][] stringGroups = new String[listOfStringLists.size()][];
    for ( int i=0; i< listOfStringLists.size(); i   ) {
        ArrayList<String> stringArray = listOfStringLists.get(i);
        String[] stringsChildren = Arrays.copyOf(stringArray.toArray(), stringArray.toArray().length, String[].class);
        stringGroups[i] = stringsChildren;
    }
    return stringGroups;
}