Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-树映射对象作为键还是值?_Java_Key_Treemap_Comparable - Fatal编程技术网

Java-树映射对象作为键还是值?

Java-树映射对象作为键还是值?,java,key,treemap,comparable,Java,Key,Treemap,Comparable,我需要一个“容器”来装一些东西。定义: class DataSet implements Comparable { public int id; public String Date; public double Value public DataSetFSA (int id, String Date) { this.id=id; this.Date=Date; } @Override public int

我需要一个“容器”来装一些东西。定义:

class DataSet implements Comparable {
    public int id;
    public String Date;
    public double Value

    public DataSetFSA (int id, String Date) {
        this.id=id;
        this.Date=Date;
    }
    @Override
    public int compareTo(Object o) {
    return  1;
    }
}
物品有一定的顺序,不应该被破坏!正如您所看到的,我的容器类本身已经有了一个“id”

所以我现在的问题是,我应该将对象作为键或值插入到树状图中吗

DataSet ds1 = new DataSetFSA(1,"Val1"); 
DataSet ds2 = new DataSetFSA(2,"Val2"); 
...

TreeMap DataTreeMap = new TreeMap();
        DataTreeMap.put(1,ds1); //as value
        DataTreeMap.put(2,ds2);

//or as key (then the class has to implement comparable)
        DataTreeMap.put(ds1,1); //as key but then the value doesnt has a function anymore
        DataTreeMap.put(ds2,2);

如果你只是在寻找一个分类的(唯一的)容器,没有理由使用
TreeMap
-一个看起来非常适合这个清单。

你为什么要使用
TreeMap
?您打算用它做什么?为什么
compareTo
方法总是返回1?你想保留插入顺序吗?我不明白你所说的“作为键,但值不再有函数”是什么意思。此外,方法“compareTo”的实现“有点”无效;)我正在从一个json文件中读取一些数据(包含来自科学实验的测量值),并为每一行创建一个新的数据集,以在树形图中收集它们。计划是在ITE上运行一些计算,我正试图保留插入顺序!我知道它有点无效;)但它起作用了^^