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上运行一些计算,我正试图保留插入顺序!我知道它有点无效;)但它起作用了^^