我尝试设置树形图构造函数的方式是否正确?
import java.util.TreeMap ;
public class Table<K extends Comparable<K>, T> { //K = Key, T = Item
TreeMap<K, T> tm;
public Table<K, T> () {
tm = new TreeMap<K, T>();
}
public boolean isEmpty() {
return tm.isEmpty();
}
public int size() {
return tm.size();
}
public void tableInsert(K key, T item) throws TableException {
tm.put(key, item);
}
public boolean tableDelete(K key) {
if (tm.containsKey(key)) {
tm.remove(key);
return true;
} else {
return false;
}
}
public T tableRetreive(K key) {
return tm.get(key);
} //return null if not found
public void printTable() {
TreeMap<K, T> tmclone = (TreeMap<K, T>) tm.clone();
while (!tmclone.isEmpty()) {
System.out.println(tmclone.pollFirstEntry());
}
} //print in search key order
}
我有另一个将创建students
的类,并且put
方法将插入到新的地图树中..但编译器说它期待一个不同的字符。另外,调用构造函数的正确方法是输入TreeMap blah<K,T> = new TreeMap
正确吗?
答案 0 :(得分:0)
如果您询问构造函数中的初始化是否正常(?),是的。你也可以在构造函数之上创建一个初始化器,如下所示:
public class Table <K extends Comparable<K>, T> { //K = Key, T = Item
TreeMap<K,T> tm;
{ //Initializer
tm = new TreeMap<K,T>();
}
public Table<K,T>() {
//Your constructor here
}
//Other methods...
}
就问题的第二部分而言,根据您的描述,在没有看到更多代码和获取更多详细信息的情况下诊断问题的情况太少了。
答案 1 :(得分:0)
这段代码:
public Table<K, T> () {
tm = new TreeMap<K, T>();
}
需要改为:
public Table() {
tm = new TreeMap<K, T>();
}
否则一切都好。