Cara Menggunakan Struktur Data Java TreeMap

Cara Menggunakan Struktur Data Java TreeMap

Kelas Java TreeMap menyimpan data dalam struktur pokok menggunakan antara muka peta. Kelas ini memanjangkan kelas AbstractMap dan, seperti kelas induknya, TreeMap mempunyai dua jenis parameter. Salah satu parameter jenisnya mewakili kunci dalam TreeMap, manakala satu lagi mewakili nilai.





Struktur data TreeMap menyimpan pasangan nilai kunci dan membolehkan anda melakukan operasi CRUD pada data ini.





Cara Membuat TreeMap di Java

Kelas TreeMap mempunyai empat pembina yang boleh anda gunakan untuk mencipta objek TreeMap baharu. Pembina lalai adalah yang paling popular daripada empat. Pembina ini tidak mengambil hujah dan menjana peta pokok kosong.





// Create a new tree map 
TreeMap<Integer,String> customers = new TreeMap<Integer,String>();

Kod di atas menjana peta pokok kosong dipanggil pelanggan .

cara meneruskan teks di android

Mengisi Struktur Data TreeMap

The letak() kaedah menambah item pada objek TreeMap. Ia memerlukan dua hujah—kunci dan nilainya. Anda boleh menambah item pada peta pokok dalam sebarang susunan rawak dan struktur data akan menyimpannya dalam tertib menaik, mengikut kuncinya.



// Populate a tree map 
customers.put(105, "Jessica Jones");
customers.put(102, "Mark Williams");
customers.put(104, "Phil Blair");
customers.put(101, "Kim Brown");
customers.put(103, "Jim Riley");

Kod di atas menambah lima pelanggan, dalam susunan rawak, pada peta pokok pelanggan.

Melihat Item dalam TreeMap

Kelas TreeMap menyimpan datanya dalam objek. Jadi, untuk melihat semua item dalam peta pokok, anda hanya boleh mencetak objek peta pokok ke konsol:





// View all tree map items as an object 
System.out.println(customers);

Kod di atas mencetak output berikut ke konsol:

{101=Kim Brown, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}

Ambil perhatian bahawa objek di atas memaparkan item dalam tertib menaik. Anda juga boleh melihat setiap item dan kunci yang sepadan menggunakan Java untuk gelung .





// View all items with an iterator 
for (Entry<Integer, String> customer : customers.entrySet()) {
System.out.println("Key: " + customer.getKey() + " Value: " + customer.getValue());
}

Kod di atas mencetak output berikut ke konsol:

Key: 101 Value: Kim Brown 
Key: 102 Value: Mark Williams
Key: 103 Value: Jim Riley
Key: 104 Value: Phil Blair
Key: 105 Value: Jessica Jones

Mengemas kini Item dalam TreeMap

Kelas TreeMap membolehkan anda mengemas kini item sedia ada menggunakan menggantikan() kaedah. Terdapat dua kaedah penggantian. Kaedah pertama mengambil kunci sedia ada dan nilai baharu yang anda mahu petakan kunci sedia ada.

// Replace existing value 
customers.replace(101,"Kim Smith");
System.out.println(customers);

Kod di atas mencetak objek berikut dalam konsol:

mengapa mesej saya mengatakan tidak dihantar
{101=Kim Smith, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}

Seperti yang anda boleh lihat Kim Brown adalah sekarang Kim Smith . Kaedah replace() kedua mengambil kunci sedia ada, nilai semasa kunci dan nilai baharu yang anda ingin petakan ke kunci.

// Replace existing value 
customers.replace(103,"Jim Riley", "Michelle Noah");
System.out.println(customers);

Kod di atas mencetak objek berikut dalam konsol:

{101=Kim Brown, 102=Mark Williams, 103=Michelle Noah, 104=Phil Blair, 105=Jessica Jones}

Dalam objek di atas Michelle Noah menggantikan Jim Riley .

Memadam Item Daripada TreeMap

Jika anda ingin mengalih keluar satu item daripada peta pokok, fail keluarkan() kaedah adalah satu-satunya pilihan anda. Ia mengambil kunci yang dikaitkan dengan item yang ingin anda alih keluar dan mengembalikan nilai yang dipadamkan.

// Remove an item 
customers.remove(104);
System.out.println(customers);

Menjalankan kod di atas mencetak objek berikut ke konsol:

{101=Kim Smith, 102=Mark Williams, 103=Michelle Noah, 105=Jessica Jones}

ini Kelas Java juga mempunyai a jelas() kaedah yang membolehkan anda memadam semua item dalam peta pokok.

TreeMap lwn. Kelas Java HashMap

TreeMap dan HashMap ialah dua daripada kelas peta Java yang lebih popular. Mereka berdua melanjutkan kelas AbstractMap. Hubungan ini memberikan kelas TreeMap dan HashMap akses kepada banyak fungsi yang sama.

Walau bagaimanapun, terdapat beberapa perbezaan yang ketara antara kedua-dua kelas peta ini. TreeMap menggunakan pelaksanaan pokok Merah-Hitam bagi antara muka Peta, manakala HashMap menggunakan jadual cincang. HashMap membolehkan anda menyimpan satu kunci null, manakala TreeMap tidak. Akhirnya, HashMap lebih pantas daripada TreeMap. Kelajuan algoritma yang pertama ialah O(1) manakala yang terakhir ialah O(log(n)).