Java 仅将两个ArrayList合并为一个数组

Java 仅将两个ArrayList合并为一个数组,java,arrays,Java,Arrays,所以我要做的是将两个ArrayList合并为一个,并基于合并的array/list编写文件.csv 我有两个ArrayList,如下所示: public static ArrayList<String> listingNameList; public static ArrayList<String> listingPriceList; 目前我不知道如何将列表名称列表和列表价格列表组合起来。或者至少我如何将listingNameList和listingPriceList写

所以我要做的是将两个ArrayList合并为一个,并基于合并的array/list编写文件.csv

我有两个ArrayList,如下所示:

public static ArrayList<String> listingNameList;
public static ArrayList<String> listingPriceList;
目前我不知道如何将
列表名称列表
列表价格列表
组合起来。或者至少我如何将
listingNameList
listingPriceList
写入.csv文件,而不必将两者合并?非常感谢您提供的任何信息和建议

编辑:我已经尝试过类似的方法,但它不起作用。for循环运行50次,因为
listingNameList
中有50个项目,在
listingPriceList
中再次有50个项目

        for(int i = 0; i < 50; i++) {
            String[][] neededInfo = new String[2][i];
            neededInfo[0][i] = listingName_extract[i];
            neededInfo[1][i] = listingPrice_extract[i];
        }
        System.out.println(neededInfo);

    for(String[][] s : neededInfo){
        fw.write(s[0] + "," + s[1] +'\n');
        }
    fw.close();
for(int i=0;i<50;i++){
字符串[][]需要的信息=新字符串[2][i];
needededInfo[0][i]=列表名称_摘录[i];
needededInfo[1][i]=列表价格_摘录[i];
}
系统输出打印项次(需要信息);
for(字符串[][]s:neededInfo){
fw.write(s[0]+“,“+s[1]+'\n');
}
fw.close();

我假设您不想创建一个新数组,然后手动添加两个数组的所有值,然后返回, 如果是这样,为什么不这样做呢

private static String[] parsingString(String listingName_temp, String listingPrice_temp) {
    String[] returnString_1 = null;
    String[] returnString_2 = null;
    String[] listingName_extract = listingName_temp.split("\\n");
    String[] listingPrice_extract = listingName_temp.split("\\n");
    for(int i = 0; i < listingName_extract.length; i++) {
        returnString_1[i] = listingName_extract[i];
        returnString_2[i] = listingPrice_extract[i];
    }
    return Stream.concat(Arrays.stream(returnString_1), Arrays.stream(returnString_2)).toArray();
}

private static String[]parsinstring(String listingName\u temp,String listingPrice\u temp){
String[]returnString_1=null;
String[]returnString_2=null;
字符串[]listingName_extract=listingName_temp.split(“\\n”);
字符串[]listingPrice_extract=listingName_temp.split(“\\n”);
for(int i=0;i
拥有
字符串[][][]
怎么样

  • 一对[[名称、价格]]的列表
  • 一对列表[[名称],[价格]]
  • 编辑写入您可以使用的文件“1.对[[名称,价格]]的列表”和以下步骤

  • 打开文件
  • 将数据解析为
    字符串[][]
  • 迭代数据并将其写入文件
  • 关闭文件

  • 过了一会儿,我决定将两者结合起来不是一个好的选择。相反,我这样做:

    for (int i = 0; i < listingNameList.size(); i++) {
                    fw.write(String.format("%s, %s\n", listingNameList.get(i), listingPriceList.get(i)));
                }
    
    for(int i=0;i
    将返回的类型替换为字符串[]怎么样?这是一个由字符串数组组成的字符串数组。或者字符串数组的集合(即列表)。我已经尝试过了,但是在向
    玩家添加项目/数组时,我无法使用
    add()
    :(它确实有效,但不幸的是,我也需要将数组导出到.csv文件。它确实有效,但不幸的是,我也需要将数组导出到.csv文件。@kingkai我已经添加了导出部分,我认为s应该是
    String[][[]
    ,对吗?我按照您的建议执行,但我得到了一个不匹配项。)(无法从
    String[][]
    转换为
    String[]
    )。但是,即使我执行
    String[][][]
    ,输出的.csv文件也是空的。:(@kingkai我添加了完整的main方法。请确保关闭文件
    fw.close();
    private static String[][] parsingString(String listingName_temp, String listingPrice_temp) {
        String[] listingName_extract = listingName_temp.split("\\n");
        String[] listingPrice_extract = listingPrice_temp.split("\\n");
        String[][] nameAndPrice = new String[listingName_extract.length][2];
    
        for (int i = 0; i < listingName_extract.length; i++) {
            nameAndPrice[i][0] = listingName_extract[i];
            nameAndPrice[i][1] = listingPrice_extract[i];
        }
        return nameAndPrice;
    }
    
    parsingString("name1\nname2\nname3", "1\n2\n3")
    
    > [[name1, 1], [name2, 2], [name3, 3]]
    
    private static String[][] parsingString(String listingName_temp, String listingPrice_temp) {
        String[] listingName_extract = listingName_temp.split("\\n");
        String[] listingPrice_extract = listingPrice_temp.split("\\n");
        String[][] nameAndPrice = new String[2][listingName_extract.length];
    
        for (int i = 0; i < listingName_extract.length; i++) {
            nameAndPrice[0][i] = listingName_extract[i];
            nameAndPrice[1][i] = listingPrice_extract[i];
        }
        return nameAndPrice;
    }
    
    parsingString("name1\nname2\nname3", "1\n2\n3")
    
    > [[name1, name2, name3], [1, 2, 3]]
    
    private static String[][] parsingString(String listingName_temp, String listingPrice_temp) {
        String[] listingName_extract = listingName_temp.split("\\n");
        String[] listingPrice_extract = listingPrice_temp.split("\\n");
        String[][] nameAndPrice = new String[listingName_extract.length][2];
    
        for (int i = 0; i < listingName_extract.length; i++) {
            nameAndPrice[i][0] = listingName_extract[i];
            nameAndPrice[i][1] = listingPrice_extract[i];
        }
        return nameAndPrice;
    }
    
    public static void main(String[] args) throws IOException {
        File file = new File("CardPrices.csv");
        FileWriter fw = new FileWriter(file, false); //true to not over ride
        String[][] players = parsingString("name1\nname2\nname3", "1\n2\n3");
    
        for (String[] s : players) {
            fw.write(s[0] + "," + s[1] + '\n');
        }
        fw.close();
    }
    
    name1,1
    name2,2
    name3,3
    
    for (int i = 0; i < listingNameList.size(); i++) {
                    fw.write(String.format("%s, %s\n", listingNameList.get(i), listingPriceList.get(i)));
                }