2014-10-05 4 views
0

길이가 다른 여러 행으로 구성된 다차원 ArrayList가 있습니다. 각 열을 ArrayList 특정 행에 해당하는 여러 열이있는 단일 탭 구분 된 파일로 ArrayList 저장하고 싶습니다. 솔루션을 찾으려고 노력했지만 유일한 생각은 각 ArrayList 행을 별도의 파일에 저장하는 것입니다.multidimensional arrayList 저장

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

나는 내 옛 대답이 당신의 필요에 대한 잘못된 해석에 기초를 두었습니다. 나는 당신에게 예제 코드 제작 :

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

답장을 보내 주셔서 감사합니다. 귀하의 코드를 사용하려고했지만 작동하지 않습니다. 마지막 파일에는 ArrayList의 1 행만 포함되어 있습니다. 나는 문제가 내가 다차원 ArrayList (Arraylists의 ArrayList)를 가졌다 고 생각한다. – sandrus

+0

아니, 내 나쁜, 1 차원 arraylist하지만,하지만 당신이 말했듯이, 당신은 2 차원 arraylist. – JeromeC