【问题标题】:Java Sorting Multiple List for ExcelJava对Excel的多个列表进行排序
【发布时间】:2018-02-12 14:46:54
【问题描述】:

我正在尝试导入一个 excel 文档,添加和删除一些记录,然后按列对记录进行排序,然后再将其导出回 excel。总共有 20 列是导入/导出的。

我创建了数组列表来捕获列信息。处理它们后,我试图对它们进行排序。

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 对它们进行排序,但仍将所有记录保持在一起,而不会意外混淆单元格导致记录信息不准确?

我不明白如何使用 map 或 collect sort 来实现这一点,因为它限制了我在 map 中的两个字符串,并且我有 20 个数组列表要保持同步。

【问题讨论】:

  • 为什么不将一行表示为 Model,然后使用 List&lt;Model&gt; 并根据您正在讨论的字段进一步对该列表进行排序。

标签: java excel sorting arraylist collect


【解决方案1】:

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

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

你会这样排序Sort ArrayList of custom Objects by property

【讨论】:

  • public static void Attribute_Insert (){ BufferedReader br = null; br = new BufferedReader(new FileReader(sample_dataset)); while ((line = br.readLine()) != null) { String[] attributes = line.split(delimiter); List stringAttributes = new ArrayList(); for(int i = 0; i
  • 对不起@muratk。我是这个环境的新手,无法让我之前的评论进入代码块。我应该创建一个新类“ExcelRow”并将它们导入该类还是使用我的原始类导入?我不明白如何在导入后不列出列表的情况下在两个类之间进行引用?
  • @Brown 您将拥有一个 List&lt;ExcelRow&gt; 并将每一行的列传递到一个新的单个对象中,例如list.add(new ExcelRow(field1, field2, field3) 等等。
猜你喜欢
  • 2016-10-20
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 2017-12-13
  • 2013-07-09
  • 2018-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多