2017-09-04 60 views
1

我想导入一个excel文档,添加和删除一些记录,然后在将它们导出到excel之前按列排序记录。总共有20列是导入/导出的。Java为Excel排序多个列表

我创建了arraylist来捕获列信息。处理它们之后,我正在尝试对它们进行分类。

static List<String> rA_column = new ArrayList<String>(); 
static List<String> rB_column = new ArrayList<String>(); 
static List<String> rC_column = new ArrayList<String>(); 

我怎样才能通过rC_column,然后再对它们进行排序rA_column,但仍维持所有的记录在一起,毫无意外地混合了细胞造成记录信息不准确?

我不明白我如何使用地图或收集排序这个工作,因为它限制我在地图中的两个字符串,我有20个arraylist保持同步。

+1

排序为什么它不能代表一个行作为一个'Model'然后用'名单'和进一步梳理基于你在谈论的字段列表。 – nullpointer

回答

4

不要创建三个不同的列表。相反,您可以创建一个拥有所有三个值的类,并且您可以通过将记录保存在一起的任何字段进行排序,例如

class ExcelRow { 
    String field1; 
    String field2; 
    String field3; 
} 

而且你会喜欢这个Sort ArrayList of custom Objects by property

+0

public static void Attribute_Insert(){ BufferedReader br = null; br = new BufferedReader(new FileReader(sample_dataset)); ((line = br.readLine())!= null){ String [] attributes = line.split(delimiter); 列表 stringAttributes = new ArrayList ();对于(int i = 0; i Brown

+0

对不起@ muratk.I新手这个环境,不能让我以前的评论进入代码块。 我应该创建一个新类“ExcelRow”并将它们导入到该类中或使用我的原始类来导入?我不明白如何在导入后在两个类之间引用而不用创建列表? – Brown

+0

@Brown您将拥有一个'List '并将每行的列传递到一个新的单个对象中,例如'list.add(新的ExcelRow(field1,field2,field3)'等等。 –