Java TreeMap (comparator) und get-Methode ignoriert den Komparator

public final Comparator<String> ID_IGN_CASE_COMP = new Comparator<String>() {

        public int compare(String s1, String s2) {
            return s1.compareToIgnoreCase(s2);
        }
    };

private Map< String, Animal > _animals = new TreeMap< String, Animal >(ID_IGN_CASE_COMP);

Mein problem ist, wie mit der Methode get(id) ignorieren den Komparator gegeben. Ich möchte die Karte zu sein, um von groß-und Kleinschreibung aber ich will, dass es groß-und Kleinschreibung werden, wenn ich das abrufen der Werte, indem Sie einen bestimmten Schlüssel.

  • Wie soll das überhaupt funktionieren? Die TreeMap würde müssen repräsentieren zwei unterschiedliche Ordnungen. Es kann dies nicht tun.
  • kurze Bemerkung: Sie müssen nicht zum erstellen dieser Komparator<String> es ist bereits in der java.lang.Die String-Klasse : String.CASE_INSENSITIVE_ORDER
  • Ich sehe nicht das problem. Es wird der Wert von der Zeichenkette " key Case-Sensitiv.
  • Dank pierre, das hilft 🙂
  • Ist es nicht möglich, durch überschreiben der Methode get?
InformationsquelleAutor d0pe | 2009-11-23
Schreibe einen Kommentar