Rumah >Java >javaTutorial >Penggunaan bersarang generik fungsi Java
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.
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
Atas ialah kandungan terperinci Penggunaan bersarang generik fungsi Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!