Rumah >Java >javaTutorial >Bagaimana untuk melakukan pemetaan yang dipesan menggunakan fungsi TreeMap di Jawa

Bagaimana untuk melakukan pemetaan yang dipesan menggunakan fungsi TreeMap di Jawa

WBOY
WBOYasal
2023-06-26 17:46:061259semak imbas

Dengan perkembangan berterusan masyarakat moden, pembangunan program komputer telah menjadi bahagian yang amat diperlukan dalam bidang sains dan teknologi. Dalam proses pembangunan program, pemilihan dan penggunaan struktur data juga merupakan aspek yang sangat penting. Salah satu struktur data yang biasa digunakan ialah peta, yang mengaitkan kunci dengan nilai. Dalam bahasa pengaturcaraan Java, satu siri struktur data pemetaan disediakan, yang paling biasa digunakan ialah fungsi TreeMap. Artikel ini akan memperkenalkan cara menggunakan fungsi TreeMap untuk pemetaan tersusun dan menunjukkan penggunaannya dengan kod sampel.

1. Apakah fungsi TreeMap

Pertama sekali, kita perlu memahami apa itu fungsi TreeMap. TreeMap ialah struktur data pemetaan berdasarkan pokok merah-hitam dalam bahasa pengaturcaraan Java. Ia boleh mengisih pasangan nilai kunci mengikut susunan semula jadi kunci atau mengikut Pembanding yang disediakan. Oleh itu, ia adalah struktur data dipetakan tersusun yang memudahkan operasi pengisihan.

2. Penggunaan asas fungsi TreeMap

1 Cipta objek TreeMap

Apabila menggunakan fungsi TreeMap, anda perlu mencipta objek TreeMap terlebih dahulu. Objek TreeMap mempunyai dua pembina, satu ialah pembina tanpa parameter, yang mencipta objek TreeMap kosong, yang satu lagi adalah untuk mencipta objek TreeMap yang menentukan pembanding dengan menyediakan pembina dengan parameter Comparator. Contohnya:

// 创建一个空的TreeMap对象
TreeMap<String, Integer> treeMap = new TreeMap<>();

// 创建一个指定比较器的TreeMap对象
TreeMap<String, Integer> treeMap = new TreeMap<>(new MyComparator());

Antaranya, jenis String dalam kod di atas ialah jenis data kunci, dan jenis Integer ialah jenis data bagi nilai tersebut. MyComparator ialah kelas pembanding tersuai yang digunakan untuk menentukan cara kekunci diisih. Jika tiada pembanding disediakan, susunan semula jadi kunci digunakan. String类型是键的数据类型,而Integer类型是值的数据类型。MyComparator是一个自定义的比较器类,用于指定键的排序方式。如果不提供比较器,则使用键的自然排序方式。

2.添加键值对

使用put()方法向TreeMap中添加键值对。例如:

treeMap.put("apple", 3);
treeMap.put("banana", 1);
treeMap.put("orange", 2);

上述代码将添加三个键值对,键分别为"apple"、"banana"和"orange",对应的值为3、1和2。这里需要注意的是,如果添加的键已经存在,会将原有的键值对替换成新的键值对。

3.获取键值对

使用get()方法获取指定键的值。例如:

int value = treeMap.get("apple");

上述代码将获取键为"apple"的值3。

4.删除键值对

使用remove()方法删除指定键的键值对。例如:

treeMap.remove("banana");

上述代码将删除键为"banana"的键值对。

5.遍历TreeMap

使用entrySet()方法获取TreeMap中键值对的集合,然后使用for

2. Tambahkan pasangan nilai kunci

Gunakan kaedah put() untuk menambah pasangan nilai kunci pada TreeMap. Contohnya:

for (Map.Entry<String, Integer> entry : treeMap.entrySet()) {
    String key = entry.getKey();
    int value = entry.getValue();
    System.out.println(key + ": " + value);
}

Kod di atas akan menambah tiga pasangan nilai kunci, kuncinya ialah "epal", "pisang" dan "oren", dan nilai yang sepadan ialah 3, 1 dan 2. Perlu diingatkan di sini bahawa jika kunci tambahan sudah wujud, pasangan nilai kunci asal akan digantikan dengan pasangan nilai kunci baharu.

3 Dapatkan pasangan nilai kunci

Gunakan kaedah get() untuk mendapatkan nilai kunci yang ditentukan. Contohnya:

import java.util.Comparator;
import java.util.Map;
import java.util.TreeMap;

public class TreeMapDemo {

    public static void main(String[] args) {

        // 创建一个指定比较器的TreeMap对象
        TreeMap treeMap = new TreeMap<>(new MyComparator());

        // 向TreeMap中添加键值对
        treeMap.put("apple", 3);
        treeMap.put("banana", 1);
        treeMap.put("orange", 2);

        // 获取指定键的值
        int value = treeMap.get("apple");
        System.out.println("apple: " + value);

        // 删除指定键的键值对
        treeMap.remove("banana");

        // 遍历TreeMap
        for (Map.Entry entry : treeMap.entrySet()) {
            String key = entry.getKey();
            value = entry.getValue();
            System.out.println(key + ": " + value);
        }
    }

    // 自定义比较器类
    static class MyComparator implements Comparator {
        @Override
        public int compare(String o1, String o2) {
            // 根据键的长度进行降序排序
            return Integer.compare(o2.length(), o1.length());
        }
    }
}

Kod di atas akan mendapat nilai 3 dengan kunci "epal". 🎜🎜4. Padamkan pasangan nilai kunci🎜🎜Gunakan kaedah remove() untuk memadamkan pasangan nilai kunci bagi kunci yang ditentukan. Contohnya: 🎜rrreee🎜Kod di atas akan memadamkan pasangan nilai kunci dengan kunci "pisang". 🎜🎜5 Traverse the TreeMap🎜🎜Gunakan kaedah entrySet() untuk mendapatkan koleksi pasangan nilai kunci dalam TreeMap, dan kemudian gunakan gelung for untuk melintasi. koleksi itu. Contohnya: 🎜rrreee🎜Kod di atas akan berulang melalui setiap pasangan nilai kunci dalam TreeMap dan mencetak kunci dan nilai masing-masing. 🎜🎜3. Contoh kod🎜🎜Berikut ialah contoh kod lengkap yang menunjukkan cara menggunakan fungsi TreeMap untuk pemetaan tersusun: 🎜rrreee🎜4Ringkasan🎜🎜Artikel ini memperkenalkan fungsi TreeMap dalam bahasa pengaturcaraan Java, termasuk asasnya. penggunaan dan kod sampel. Dengan mengkaji artikel ini, pembaca seharusnya dapat menguasai cara menggunakan fungsi TreeMap untuk pemetaan tersusun, dan boleh menulis kelas pembanding tersuai seperti yang diperlukan untuk melaksanakan kaedah pengisihan kunci yang ditentukan. Sudah tentu, dalam pembangunan sebenar, ia juga perlu untuk memilih struktur data dan algoritma yang sesuai berdasarkan senario perniagaan tertentu dan keperluan data untuk meningkatkan kecekapan operasi program dan keupayaan pemprosesan data. 🎜

Atas ialah kandungan terperinci Bagaimana untuk melakukan pemetaan yang dipesan menggunakan fungsi TreeMap di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn