Rumah >Java >javaTutorial >Program Java untuk mencari nombor ganjil maksimum dalam tatasusunan menggunakan aliran dan penapis
Dalam bahagian ini, kami akan menulis program Java untuk mencari nombor ganjil terbesar dalam tatasusunan menggunakan aliran dan penapis. nombor ganjil ialah nombor yang tidak boleh dibahagi dengan "2", atau bakinya ialah 1 apabila dibahagikan dengan "2". Dengan kata lain, ia boleh ditulis dalam bentuk ‘2n+1’. Kami akan mencari nombor ganjil terbesar dalam tatasusunan.
Input: array = {1, 7, 2, 3, 9, 5, 10} Output: Maximum odd number is 9
Daripada contoh di atas, nombor ganjil terbesar dalam tatasusunan ialah 9.
Input: array = {11, 17, 12, 13, 19, 15, 20} Output: Maximum odd number is 19
Daripada contoh di atas, nombor ganjil terbesar dalam tatasusunan ialah 19.
stream() - Ia digunakan untuk mencipta aliran elemen supaya kita boleh menggunakan kaedah penapis(), map(), reduce(), dsb. untuk memproses data # 🎜🎜#
Arrays.stream(collection)
filter() - Digunakan untuk menapis data dalam strim, iaitu, untuk memilih elemen tertentu daripada strim berdasarkan syarat. Ia mengembalikan nilai boolean.
treamobject.filter(condition)
reduce() - Digunakan untuk mengurangkan bilangan elemen dan mengembalikan nombor hasil tunggal berdasarkan operasi binari.
Streamobject.reduce(initial value, binary operation)Kini kita akan membincangkan cara yang berbeza untuk mencari nombor ganjil terbesar dalam tatasusunan menggunakan strim dan penapis (dilaksanakan menggunakan kod dalam Java).
Algoritma
import java.util.*; public class Main { public static void main(String[] args) { int[] array = {1, 7, 2, 3, 9, 5, 10}; int maximumOdd = Arrays.stream(array) .filter(n -> n % 2 != 0) .max() .orElse(-1); System.out.println("Maximum odd number is: " +maximumOdd); } }Output
Maximum odd number is: 9
import java.util.*; public class Main { public static void main(String[] args) { int[] array = {1, 7, 2, 3, 9, 5}; int maximumOdd = Arrays.stream(array) .filter(n -> n % 2 != 0) .reduce(Integer.MIN_VALUE, Integer::max); System.out.println("Maximum odd number in the given array is " + (maximumOdd != Integer.MIN_VALUE ? maximumOdd : -1)); } }Output
Maximum odd number in the given array is 9
Atas ialah kandungan terperinci Program Java untuk mencari nombor ganjil maksimum dalam tatasusunan menggunakan aliran dan penapis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!