2014-10-05 52 views
0

我有一个多维ArrayList,由不同长度的多行组成。我想将ArrayList保存为具有多列的单个制表符分隔文件,其中每列对应于ArrayList的特定行。我试图想出一个解决方案,但我唯一能想到的是将每个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

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

谢谢你的回复。我试图使用你的代码,但它不起作用。我得到的最终文件只包含ArrayList的一行。我想问题是我有一个多维ArrayList(Arraylists的ArrayList)。 – sandrus 2014-10-06 09:49:25

+0

没有我的坏,我虽然是一维数组列表,但正如你所说,你是一个二维数组列表。 – JeromeC 2014-10-06 15:05:48