我在使用TreeMap构造函数时遇到了一些问题。我有一个2 TreeMap<String, Client>
的课程。按名称排序的树和按编号排序的另一个树。(客户端类:字符串名称,int号,...)
private TreeMap<String, Client> nameTree;
private TreeMap<Integer, Client> numberTree;
如何为此类构建构造函数?到目前为止我写了这个:
public ManagerTreeMap(){
nameTree = new TreeMap<String, Client>(new StringComparator());
numberTree = new TreeMap<Integer, Client>(new IntegerComparator());
}
我的主要问题是construtor“TreeMap(Comparator c)”。我可以写两个比较器吗?如果不是我该怎么办?
public ManagerTreeMap(Comparator<String> cp){
nameTree = new TreeMap<String, Client>(cp);
}
public ManagerTreeMap(Comparator<Integer> cpt){
nameTree = new TreeMap<Integer, Client>(cpt);
}
答案 0 :(得分:3)
您似乎不需要自定义比较器。
public ManagerTreeMap(){
nameTree = new TreeMap<String, Client>();
numberTree = new TreeMap<Integer, Client>();
}
答案 1 :(得分:2)
也许
public ManagerTreeMap(Comparator<String> cs, Comparator<Integer> ci){
nameTree = new TreeMap<String, Client>(cs);
numberTree = new TreeMap<Integer, Client>(ci);
}