2016-04-02 9 views
4

Plsはここで何が起こっているか間違っている告げるそのすべての挿入エントリを印刷しません。私はTreeMapの中のキーとして使用していPersonクラスを持っています。 TreeMapソートを行うことができるように、私もComparableを実施しています。なぜJavaのTreeMapのは

public class Person implements Comparable{ 

private String name; 
private int age; 
// getters and setters were omitted 
@Override 
public int compareTo(Object o) { 
    return 0; 
} 
} 

今私はTreeMapを作成してその中に値を追加しました:{[email protected]=String4}

:のみ

出力、すなわち、最後の挿入された値を取得System.out.println(treeMap);はIAMを使用して直接印刷した後

Map treeMap=new TreeMap<Person,Object>(); 

treeMap.put(new Person(), "String1"); 
treeMap.put(new Person(), "String2"); 
treeMap.put(new Person(), "String3"); 
treeMap.put(new Person(), "String4"); 

System.out.println(treeMap); 

私はキーが異なっているが、新しいオペレータは常に新しいオブジェクトを作成して、それでいいと思います。しかし、ここで起こっていることが間違っているのを理解するのは無力です。

答えて

関連する問題