Rumah >Java >javaTutorial >Penggunaan bersarang generik fungsi Java

Penggunaan bersarang generik fungsi Java

WBOY
WBOYasal
2024-04-25 21:51:02939semak imbas

Generik bersarang membenarkan penggunaan jenis generik lain dalam kaedah generik, menghasilkan kod yang sangat boleh digunakan semula. Dalam amalan, generik bersarang boleh digunakan untuk mencari dua elemen puncak dalam tatasusunan Kod sampel menggunakan Pasangan generik untuk menyimpan hasil dan mencari nilai puncak dengan menyemak elemen secara berulang dan membandingkannya dengan elemen bersebelahan.

Java 函数泛型的嵌套使用

Penggunaan bersarang generik fungsi Java

Generik ialah ciri bahasa Java yang berkuasa yang membolehkan kami mencipta kod boleh guna semula yang boleh beroperasi pada pelbagai jenis data. Generik fungsi membolehkan kami menggunakan generik dalam fungsi, dengan itu meningkatkan fleksibiliti.

Generik bersarang

Generik bersarang merujuk kepada penggunaan jenis generik lain dalam kaedah generik. Ini membolehkan kami mencipta kod yang sangat boleh digunakan semula, terutamanya apabila berurusan dengan struktur data yang kompleks.

Berikut ialah contoh generik bersarang:

public class Pair<T, U> {
    private T first;
    private U second;

    public Pair(T first, U second) {
        this.first = first;
        this.second = second;
    }

    public T getFirst() {
        return first;
    }

    public U getSecond() {
        return second;
    }
}

Kelas Pair ialah generik bersarang yang menyimpan dua elemen jenis yang berbeza. Pair 类是一个嵌套泛型,它存储两个类型不同的元素。

实战案例

让我们考虑一个需要返回两个峰值元素的数组 nums 的场景。峰值元素是指比其相邻元素都大的元素。

以下是一个使用嵌套泛型的 Java 代码:

public class FindPeakElements {

    public static <T extends Comparable<T>> Pair<T, T> findPeakElements(T[] nums) {
        if (nums == null || nums.length < 3) {
            throw new IllegalArgumentException("Invalid array size");
        }

        T firstPeak = nums[0];
        T secondPeak = nums[nums.length - 1];

        for (int i = 1; i < nums.length - 1; i++) {
            T current = nums[i];
            T prev = nums[i - 1];
            T next = nums[i + 1];

            if (current > prev && current > next) {
                if (current > firstPeak) {
                    secondPeak = firstPeak;
                    firstPeak = current;
                } else if (current > secondPeak) {
                    secondPeak = current;
                }
            }
        }

        return new Pair<>(firstPeak, secondPeak);
    }

    public static void main(String[] args) {
        Integer[] nums = {1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1};
        Pair<Integer, Integer> peaks = findPeakElements(nums);
        System.out.println("First peak: " + peaks.getFirst());
        System.out.println("Second peak: " + peaks.getSecond());
    }
}

这个代码使用嵌套泛型 Pair

🎜Kes praktikal🎜🎜🎜Mari kita pertimbangkan senario di mana kita perlu mengembalikan tatasusunan nombor dua elemen puncak. Unsur puncak ialah unsur yang lebih besar daripada unsur jirannya. 🎜🎜Berikut ialah kod Java menggunakan generik bersarang: 🎜rrreee🎜Kod ini menggunakan generik bersarang Pair untuk menyimpan dua elemen puncak. Ia mencari elemen puncak dengan melelaran melalui tatasusunan dan menyemak sama ada elemen itu lebih besar daripada jirannya. 🎜

Atas ialah kandungan terperinci Penggunaan bersarang generik fungsi Java. 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
Artikel sebelumnya:Penggunaan enum dalam javaArtikel seterusnya:Penggunaan enum dalam java