Java 读取数据集的代码

Java 读取数据集的代码,java,decision-tree,Java,Decision Tree,在这里,我读取数据集并提取数据行(而不是属性)并打印它。接下来我需要对数据集进行排序。现在它存储在ArrayList中。如何排序 public static void main(String args[]) throws Exception { String filen, jsnfl; Customiseddata data = new Customiseddata(); data.setAlgorithm("C4.5"); data.setUserName(

在这里,我读取数据集并提取数据行(而不是属性)并打印它。接下来我需要对数据集进行排序。现在它存储在ArrayList中。如何排序

public static void main(String args[]) throws Exception 

{
    String filen, jsnfl;
    Customiseddata data = new Customiseddata();
    data.setAlgorithm("C4.5");
    data.setUserName("Dahlia");

    System.out.println("Enter the file name");
    sc = new Scanner(System.in);
    filen = sc.nextLine();
    data.setFileName("input_files/" + filen);
    Mainclass main = new Mainclass();
    main.build(data);
}



public void build(Customiseddata data) throws Exception 
{
        int extension;
        String filename;
        filename = data.getFileName();
        extension = filename.lastIndexOf('.');
        String extensionType = filename.substring(extension + 1,
                filename.length());
        if (extensionType.equalsIgnoreCase("csv")) 
        {
            readcsv(filename);
        }

        else if (extensionType.equalsIgnoreCase("arff")) 
        {
            readarff(filename);
        }
}
public void readarff(String filename) throws Exception
{
    @SuppressWarnings("unused")
    int filesize, attributesize, c = 0, i;
    @SuppressWarnings("unused")
    float v = 0;
    String s, line1;
    ArrayList<String> filelines;
    ArrayList<String> attributes;
    Customiseddata data = new Customiseddata();

    Arfffilereader arfffile = new Arfffilereader();
    Extractdata exdata = new Extractdata();
    exdata = arfffile.extractInputArff(filename);

    filelines = exdata.getFileLines();
    attributes = exdata.getAttributes();
    filesize = filelines.size();
    attributesize = attributes.size();
    data.setFilesize(filesize);
    System.out.println("Print the attributes");
    System.out.println("--------------------");
    for (i = 0; i < attributesize; i++) 
            {
        System.out.println(attributes.get(i));
    }
    System.out.println("\t");
    System.out.println("Print the filelines");
    System.out.println("--------------------");
    for (int j = 0; j < filesize; j++) 
            {
        System.out.println(filelines.get(j));
    }
}
publicstaticvoidmain(字符串args[])引发异常
{
字符串文件,jsnfl;
Customiseddata data=新的Customiseddata();
数据集算法(“C4.5”);
data.setUserName(“Dahlia”);
System.out.println(“输入文件名”);
sc=新扫描仪(系统英寸);
filen=sc.nextLine();
data.setFileName(“input_files/”+filen);
Mainclass main=新的Mainclass();
main.build(数据);
}
public void生成(Customiseddata数据)引发异常
{
int扩展;
字符串文件名;
filename=data.getFileName();
扩展名=filename.lastIndexOf('.');
String extensionType=filename.substring(扩展名+1,
filename.length());
if(extensionType.equalsIgnoreCase(“csv”))
{
readcsv(文件名);
}
else if(extensionType.equalsIgnoreCase(“arff”))
{
readarff(文件名);
}
}
public void readarff(字符串文件名)引发异常
{
@抑制警告(“未使用”)
int filesize,attributesize,c=0,i;
@抑制警告(“未使用”)
浮点数v=0;
字符串s,第1行;
ArrayList文件行;
阵列列表属性;
Customiseddata data=新的Customiseddata();
Arfffilereader arfffile=新的Arfffilereader();
Extractdata exdata=新Extractdata();
exdata=arfffile.extractInputArff(文件名);
filelines=exdata.getFileLines();
attributes=exdata.getAttributes();
filesize=filelines.size();
attributesize=attributes.size();
data.setFilesize(filesize);
System.out.println(“打印属性”);
System.out.println(“------------------”);
对于(i=0;i

但在此之后,我需要对数据集进行排序。

由于列表的元素是
String
s,并且
String
实现,因此对列表进行排序非常简单:

Collections.sort(theList);

但是请注意,它将对列表进行适当排序。如果您不想这样做,请复制一份列表并对副本进行排序。

…您到底在问什么?这里我只是阅读并打印了数据集。但我想对数据集进行排序。您尝试过排序吗?如果列表是连续的。方法是什么?连续是什么意思?例如:5.1,4.9,8.6,7.5,1.4,每个列都是这样的。我需要对每个列进行排序。如何排序?好的,那么列表中到底是什么?这些数字是字符串吗?您想使用数字值进行排序吗?它可能是任何类似于最早的示例的东西,但不是数字。