Rumah  >  Artikel  >  Java  >  Kerja dalaman TreeMap di Jawa

Kerja dalaman TreeMap di Jawa

WBOY
WBOYke hadapan
2023-08-26 11:41:16637semak imbas

TreeMap ialah kelas Rangka Kerja Koleksi Java yang melaksanakan Antara Muka NavigableMap. Ia menyimpan elemen peta dalam struktur pepohon dan menyediakan alternatif yang cekap untuk menyimpan pasangan nilai kunci dalam susunan yang disusun secara Dalaman, TreeMap menggunakan pokok merah-hitam , yang merupakan pepohon carian binari mengimbangi sendiri A TreeMap mesti melaksanakan Antara Muka Sebanding atau Pembanding tersuai supaya ia boleh mengekalkan susunan pengisihan elemennya jika tidak, kami akan menemui java.lang.ClassCastException Artikel ini bertujuan untuk menerangkan bagaimana TreeMap berfungsi secara dalaman di Jawa.

Kerja dalaman TreeMap di Jawa

Untuk memahami kerja dalaman TreeMap, anda perlu mempunyai gambaran keseluruhan algoritma pokok merah-hitam, kerana TreeMap menggunakannya untuk menyimpan elemen.

Hubungan Pokok Merah Hitam dan Peta Pokok

Pokok merah-hitam ialah pepohon carian binari pengimbangan diri dengan sifat berikut:

  • Setiap nod mengandungi bit tambahan, diwakili oleh merah atau hitam. Warna-warna ini digunakan untuk memastikan pokok kekal seimbang.

  • Warna nod akar sentiasa hitam.

  • Nod merah tidak boleh mempunyai nod lain dengan warna yang sama dengan jirannya

  • Dari nod akar ke nod kosong, bilangan nod hitam pada semua laluan mestilah sama

Kerja dalaman TreeMap di Jawa

Sekarang, mari lihat struktur TreeMap:

Kerja dalaman TreeMap di Jawa

Jika kita menambah elemen pada TreeMap, ia akan menambah entri pertama di tempat pertama Dari elemen kedua, ia akan menyemak sama ada kunci entri semasa lebih besar atau lebih kecil daripada entri sebelumnya ditambah ke kiri dan yang mempunyai nilai lebih besar akan ditambah di sebelah kanan entri Ibu Bapa.

Pembina TreeMap

Untuk menggunakan koleksi TreeMap dalam program kami, kami perlu mencipta contoh kelas TreeMap Untuk itu Java menyediakan pembina berikut:

  • TreeMap(): Ia akan mencipta koleksi TreeMap kosong

  • TreeMap(Map mapInstance): Kita boleh mencipta peta pokok menggunakan entri daripada peta lain

  • TreeMap(Comparator ComparatorInstance): Ia membolehkan kami membuat peta pokok kosong, diisih menggunakan pembanding.

  • TreeMap(SortedMap sortedmapInstance): Kami juga boleh mencipta peta pokok dengan entri daripada peta yang diisih.

Mari kita bincangkan beberapa contoh untuk lebih memahami perkara yang dibincangkan di atas.

Contoh

Dalam contoh berikut, kami akan mencipta TreeMap kosong dan kemudian menyimpan beberapa elemen ke dalamnya menggunakan kaedah 'put()'. Kami akan mencetak butirannya menggunakan untuk setiap gelung. Keputusan akan dipaparkan dalam susunan yang disusun.

rreeee

Output

import java.util.*;
public class Example1 {
   public static void main(String[] args) {
      // creating a TreeMap
      TreeMap<String, Integer> TrMap = new TreeMap<>();
      // Adding elements in the map
      TrMap.put("Kurti", 4000);
      TrMap.put("Shirt", 3000);
      TrMap.put("TShirt", 1500);
      TrMap.put("Watch", 2000);
      TrMap.put("Perfume", 2500);
      // printing the details of map 
      System.out.println("Elements of the map: ");
      // iterating through the map
      for (String unKey : TrMap.keySet()) {
         // printing details of each node
         System.out.println("Item: " + unKey + ", Price: " + 
TrMap.get(unKey));
      }
      String frstKey = TrMap.firstKey(); // accessing first key
      String lstKey = TrMap.lastKey(); // accessing last key
      System.out.println("Accessing name of first key in Map: " + 
frstKey);
      System.out.println("Accessing name of last key in Map: " + 
lstKey);
   }
}

Kesimpulan

Kami memulakan artikel ini dengan mentakrifkan Peta Pokok dan membincangkan kerja dalamannya dalam bahagian seterusnya. TreeMap menggunakan pokok merah-hitam untuk menyimpan elemennya, yang merupakan pokok carian binari pengimbangan diri. Selain itu, kami juga membincangkan contoh untuk menggambarkan cara TreeMap berfungsi.

Atas ialah kandungan terperinci Kerja dalaman TreeMap di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam