java - List<String> 的列表到字符串有序的字符串数组

标签 java algorithm list csv opencsv

我有一个 resultList这是一个字符串列表,此列表中的每个元素也是 List<String> .现在我想将我的数据放入 csv 表中。为此,我正在使用 opencsv .

    List<String[]> data = new ArrayList<String[]>();
    for(int m = 0; m < resultList.get(0).size(); m++) {
        for (int i = 0; i < resultList.size(); i++) {

            data.add(new String[] {resultList.get(i).get(m).toString()});

        }
    }

    writer.writeAll(data);

    //close Writer
    writer.close();

我的数据应该是这样的:

enter image description here

但是,我的实现给了我:

enter image description here

在我的实现中,我知道每个子列表都具有相同的长度,从每个子列表中获取第一个元素并将其添加到数组中。为什么我要排这么长的一排?

感谢您的回复!

最佳答案

因为你的循环不正确。您在每个内部循环中构造了一个新的 String 数组,因此每个数组只有一个元素。 试试下面的代码:

List<String[]> data = new ArrayList<String[]>();
for(List<String> strlist : resultList) {

    String[] array = new String[strlist.size()];
    int offset = 0;
    for(String s : strlist) {
        array[offset ++] = s;
    }
    data.add(array);
}

==============编辑如下==================

我已经重新排序循环以满足您的输出要求。此外,还提供了样本输入来测试算法。

List<List<String>> resultList = new ArrayList<List<String>>();
for (int i = 1; i <= 9; i++) {

    List<String> innerList = new ArrayList<String>();
    resultList.add(innerList);
    for (int j = 1; j <= 9; j++) {
        innerList.add(j + "");
    }
}

List<String[]> data = new ArrayList<String[]>();

for(int m = 0; m < resultList.get(0).size(); m++) {

    String[] array = new String[resultList.size()];
    for (int i = 0; i < resultList.size(); i++) {
        array[i] = resultList.get(i).get(m).toString();
    }
    data.add(array);
}
for(String[] array : data) {
    System.out.println(Arrays.toString(array));
}

关于java - List<String> 的列表到字符串有序的字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21622660/

相关文章:

python - Python 中的追加添加了额外的意外元素以在计算值之间列出

java - Maven 上的项目未导入其依赖项

java - 从 netbeans GUI 中的组合框获取值

java - 由于未知父级而无法添加 View ?

python - 为什么 maxmin 分而治之的实现比其他 maxmin 算法慢?

arrays - 在两个排序数组中选择

c# - 从一个列表中取出一个随机项目并将其添加到另一个列表

java - 在java中实现快速排序时的无限循环/递归

algorithm - 修改 Minimax 为 Alpha-Beta 剪枝伪代码

c++ - 对于以下类型的数据表示,什么是好的数据结构?