1
public int compareTo(Object o) {
Doctor d = (Doctor)o;
return (doctor_name.compareTo(d.doctor_name));
}
這是我在醫生級別可比TreeMap中不排序
jTextArea.setText("");
int doctor_id = Integer.parseInt(jTextField2.getText());
String doctor_name = jTextField3.getText();
String hospitalName = jTextField4.getText();
Doctor d = new Doctor(doctor_id,doctor_name,hospitalName);
hmDoctor.put(doctor_id, d);
這是我的HashMap
,這是我的樹地圖
TreeMap<Integer,Doctor> tmDoctor = new TreMap<Integer,Doctor>(hmDoctor);
jTextArea.setText("");
Set keys = tmDoctor.keySet();
Iterator<Integer> ite = keys.iterator();
while(ite.hasNext())
{
int doctorID = ite.next();
Doctor d = tmDoctor.get(doctorID);
tmDoctor.put(doctorID, d);
jTextArea1.append(d.toString());
}
它不分類醫生的名字。爲什麼?
我可以做到這一點與由doctorName設置的樹不是嗎? – snnlankrdsm
如果你使用集合,它將是一個有序的醫生集合(你可能必須重寫'equals()'),這將允許測試,如'yourSet.contains(d)'。如果您按照名稱使用地圖,則可以使用'yourMap.get(「Gregory House」)'來獲取'Doctor'對象。 – Vlad
private TreeMap tmDoctor = new TreeMap ();如果我這樣做,它現在的作品,但什麼是醫生類可比較的意義? –
snnlankrdsm