如何在选定位置将具有相同值的List <string>添加到arraylist

时间:2015-09-29 03:53:17

标签: java arraylist

我想执行一些计算,添加一列,并将所有结果输出到一个CSV文件中。

目前,我有一个ArrayList<List<String>> sorted,并且它包含多个List<String>,输出的示例行如下所示(也是一个List<String>):

[[024eb46690,1418599836,xx,xx,null, 31.622776601683796, 
024eb46690,1418599970,xx,xx,null, 50.99019513592785, 
024eb46690,1418600005,xx,xx,null, 1000.0, 
024eb46690,1418600025,xx,xx,null, 1000.0, 
024eb46690,1418600026,xx,xx,null, 50.99019513592785,
024eb46690,1418600208,xx,xx,null, 1000.0, 
024eb46690,1418600934,xx,xx,null, 1000.0, 
024eb46690,1418602301,xx,xx,null, 1000.0, 
024eb46690,1418602926,xx,xx,null, 1000.0, 
024eb46690,1418603034,xx,xx,null, 1000.0, 
024eb46690,1418603175,xx,xx,null, 1000.0, 
024eb46690,1418603267,xx,xx,null, 1000.0, 
024eb46690,1418603343,xx,xx,null, 1000.0]]
  • 您可以忽略第一个xx以后的数据,数据只是被审查。

我想使用逗号分隔数据,因此数据格式为idtime等等......

因此,所有数据行都有不同的id。我想要的是将每一行添加到一个arraylist(每行包含一个不同的id,因为我想在每个数据的末尾添加一个新列,然后将所有内容整理在一起然后输出到.csv文件中。所以输出应该是参考我的样本输出

024eb46690,1418603343,xx,xx,null, 1000.0, "new column"

新列中的值将是必须为每个id刷新的计算结果,这就是我想为每个不同的id创建新的arraylist的原因。我该怎么做呢?我有近九千行List<String> s。

另外,这就是我得到的

for (List<String> sortedList : sorted) {
    for (String s : sortedList) {
        String delimiter = ",";
        String[] splitString = s.split(delimiter);
        String tempID = splitString[0];
    }
}

但是因为对于我正在执行计算的部分,每个ID都需要一个新的arraylist来检查其他列中的重复项,所以我的方法只能对所有记录执行此操作。有没有我可以改进这个以获得我想要的东西?

1 个答案:

答案 0 :(得分:0)

ArrayList<String> id_list;

for (List<String> sortedList : sorted) {
            for (String s : sortedList) {
                String delimiter = ",";
                String[] splitString = s.split(delimiter);
                String tempID = splitString[0];
                if(!id_list.Contains(tempID))
                {
                  id_list.Add(tempID);// duplicates wont add
                  perform calclulations with unique TempID

                }
            }
           s+=","+newColumn;
        }