创建一个唯一值的ArrayList

10 浏览
0 Comments

创建一个唯一值的ArrayList

我有一个从文件中提取的值的ArrayList(有很多行,这只是一个摘录):

其中每行的前两个值是包含数据的字符串,并存储在一个单独的元素中。

我想要做的是比较字符串数据元素,并删除,例如,第二个元素和该行中引用的所有元素。

目前,我使用了一个for循环,每13个元素比较一次字符串(只比较数据字符串)。

我的问题是:我能实现其他更好的解决方案吗?

这是我的代码:

import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
    public static void main(String[] args) throws Exception{
        // 输入文件
        Scanner s = new Scanner(new File("prova.txt"));
        // 将输入文件的每个元素保存在ArrayList中
        ArrayList list = new ArrayList();
        while (s.hasNext()){
            list.add(s.next());
        }
        s.close();
        // 用于保存修改后的值的ArrayList
        ArrayList ds = new ArrayList();
        //
        int i;
        for(i=0; i<=list.size()-13; i=i+14){
            // 组合前两个值以获取数据
            String str = list.get(i)+" "+list.get(i+1);
            ds.add(str);
            // 将所有其他值添加到ds ArrayList中
            int j;
            for(j=2; j<14; j++){
                ds.add(list.get(i+j));
            }
            // 比较数据值
            int k;  
            for(k=0; k<=ds.size()-12; k=k+13){
                ds.get(k); // 第一个数据字符串元素
                // 与其他字符串进行比较并删除
                // TODO
            }
        }
    }
}

0