ホームページ >Java >&#&チュートリアル >Java の HashMap、LinkedHashMap、および TreeMap: 主な違いとそれぞれをいつ使用するか?
Java での HashMap、LinkedHashMap、および TreeMap のニュアンスの移動
イントロ
としてJava 開発者にとって、さまざまなものの違いを理解することは非常に重要です。データ構造には、HashMap、LinkedHashMap、TreeMap の 3 つの一般的なオプションが含まれます。これらはすべて Map インターフェイスを実装していますが、機能とパフォーマンスに影響を与える独自の特性を示します。
主要な相違点
基礎となる実装と同期:
使用例出力:
提供されたコード スニペットは、 HashMap、LinkedHashMap、および TreeMap:
// HashMap (unsorted key order) Map<String, String> m1 = new HashMap<>(); m1.put("map", "HashMap"); m1.put("schildt", "java2"); m1.put("mathew", "Hyden"); m1.put("schildt", "java2s"); System.out.println(m1.keySet()); // [schildt, mathew, map] System.out.println(m1.values()); // [java2s, Hyden, HashMap] // TreeMap (sorted key order) SortedMap<String, String> sm = new TreeMap<>(); sm.put("map", "TreeMap"); sm.put("schildt", "java2"); sm.put("mathew", "Hyden"); sm.put("schildt", "java2s"); System.out.println(sm.keySet()); // [map, mathew, schildt] System.out.println(sm.values()); // [TreeMap, Hyden, java2s] // LinkedHashMap (insertion order) LinkedHashMap<String, String> lm = new LinkedHashMap<>(); lm.put("map", "LinkedHashMap"); lm.put("schildt", "java2"); lm.put("mathew", "Hyden"); lm.put("schildt", "java2s"); System.out.println(lm.keySet()); // [map, schildt, mathew] System.out.println(lm.values()); // [LinkedHashMap, java2, Hyden]
ハッシュテーブル: レガシー データ構造
Java 1.2 より前は、ハッシュテーブルが普及していましたが、より洗練されたものになったため、現在は非推奨になっています。 HashMaps によって提供される機能。ハッシュテーブルは HashMaps と同様の動作を示しますが、
以上がJava の HashMap、LinkedHashMap、および TreeMap: 主な違いとそれぞれをいつ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。