2014-10-05 2 views
0

У меня есть многомерный массив ArrayList, состоящий из нескольких строк разной длины. Я хотел бы сохранить ArrayList как отдельный файл с разделителями табуляции с несколькими столбцами, в котором каждый столбец соответствует определенной строке ArrayList. Я попытался придумать решение, но единственное, что я мог подумать, - сохранить каждую строку ArrayList в отдельных файлах.сохранить многомерный массивList

ArrayList называется массивом и содержит несколько строк разной длины. Вот код:

try { 
     PrintWriter output = new PrintWriter(new FileWriter("try")); 
     output.print(array.get(0)); 
    } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

В этом случае я могу сохранить первую строку ArrayList как один файл. Другое решение, о котором я подумал, - это цикл через строки, чтобы получить как можно больше отдельных файлов, таких как номера строк. Однако я хотел бы получить один файл с несколькими столбцами с разделителями табуляции.

ответ

0

Ecxuse me, мой старый ответ был основан на неправильной интерпретации ваших потребностей. Я сделал вам пример кода:

package com.test; 

import java.util.ArrayList; 
import java.util.List; 

public class MulitArrayList { 

    public static void main(String[] args) { 
     List<String> innerArrayList1; 
     List<String> innerArrayList2; 
     List<String> innerArrayList3; 
     List<List> outerArrayList; 

     innerArrayList1 = new ArrayList<String>(); 
     innerArrayList2 = new ArrayList<String>(); 
     innerArrayList3 = new ArrayList<String>(); 

     //comic heros 
     innerArrayList1.add("superman"); 
     innerArrayList1.add("batman"); 
     innerArrayList1.add("catwoman"); 
     innerArrayList1.add("spiderman"); 
     //historical persons 
     innerArrayList2.add("Stalin"); 
     innerArrayList2.add("Gandy"); 
     innerArrayList2.add("Lincoln"); 
     innerArrayList2.add("Churchill"); 
     //fast food 
     innerArrayList3.add("mc donalds"); 
     innerArrayList3.add("burger king"); 
     innerArrayList3.add("subway"); 
     innerArrayList3.add("KFC"); 

     //fill outerArrayList 
     outerArrayList = new ArrayList<List>(); 
     outerArrayList.add(innerArrayList1); 
     outerArrayList.add(innerArrayList2); 
     outerArrayList.add(innerArrayList3); 

     //print 
     for(List<String> innerList : outerArrayList) { 
      for(String s : innerList) { 
       System.out.print(s + "\t"); 
      } 
      System.out.println("\n"); 
     } 

    } 

} 

Результат является: result of my mulitarray print

Как вы можете видеть, результаты печатаются с закладками, но пространство между ними различие. Вы можете записать его так же в свой файл, но это не лучший способ сохранить данные. Надеюсь, я могу помочь вам, привет, привет.

+0

Благодарим вас за ответ. Я пытался использовать ваш код, но он не работает. Последний файл, который я получил, содержит только 1 строку ArrayList. Я предполагаю, что проблема в том, что у меня многомерное ArrayList (ArrayList of Arraylists). – sandrus

+0

Нет, это мое плохое, хотя я из 1-мерного арраиста, но, как вы сказали, вы меня и двумерный арраист. – JeromeC

Смежные вопросы