使用流和過濾器在數組中找到最大奇數的Java程序
在本節中,我們將編寫一個 Java 程序,使用流和過濾器來尋找數組中的最大奇數。 奇數是不能被「2」整除的數字,或當這些數字除以「2」時餘數為1。換句話說可以寫成‘2n 1’的形式。我們將找到數組中的最大奇數。
範例
Input: array = {1, 7, 2, 3, 9, 5, 10} Output: Maximum odd number is 9
從上面的範例來看,陣列中最大奇數是 9。
Input: array = {11, 17, 12, 13, 19, 15, 20} Output: Maximum odd number is 19
從上面的例子來看,陣列中最大奇數是19。
使用的方法
stream() - 它用於建立元素流,以便我們可以使用filter()、map()、reduce()等方法來處理資料
Arrays.stream(collection)
filter() - 用於過濾流中的數據,即根據條件從流中選擇特定元素。它返回布林值。
treamobject.filter(condition)
reduce() - 用於減少元素數量並基於二元運算傳回單一結果數。
Streamobject.reduce(initial value, binary operation)
我們現在將討論使用流和過濾器(使用 Java 中的程式碼實作)來尋找數組中最大奇數的不同方法。
演算法
初始化陣列並使用stream()方法為陣列建立流
使用filter method()和參數作為條件來過濾流,以從陣列中過濾出奇數。
使用 max() 方法傳回最大奇數,如果沒有奇數,則使用 orElse() 方法列印 -1。
範例
在此範例中,我們首先初始化一個陣列。然後我們使用“stream()”方法將數組轉換為流,然後在流上使用“filter()”方法過濾掉流中存在的奇數,在結果流上我們使用max() 方法來查找流中所有奇數的最大值。如果流中不存在奇數,則我們使用「orElse」函數傳回輸入參數的值。然後我們列印儲存在「maximumOdd」變數中的值。
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); } }
輸出
Maximum odd number is: 9
使用stream()、filter()和reduce()方法
初始化陣列並使用stream()方法為陣列建立流
使用filter method()和參數作為條件來過濾流,以從陣列中過濾出奇數。
使用reduce()方法求最大奇數
#使用三元運算子列印最大奇數,如果沒有奇數則列印-1。
範例
在此範例中,我們首先初始化一個陣列。然後我們使用“stream()”方法將數組轉換為流,然後在流上使用“filter()”方法過濾掉流中存在的奇數,在結果流上我們使用reduce()方法來查找流中所有奇數的最大值。如果流中不存在奇數,則 MaximumOdd 數包含 Integer.MIN_VALUE。然後我們使用三元運算‘?’並檢查‘maximumOdd’變數是否包含Integer.MIN_VALUE。如果它包含 Integer.MIN_VALUE,那麼我們列印 -1,否則我們列印「maximumOdd」變數中儲存的值。
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)); } }
輸出
Maximum odd number in the given array is 9
因此,在本文中,我們討論瞭如何使用 Java 中的流和過濾器使用不同的方法來尋找數組中的最大奇數。
以上是使用流和過濾器在數組中找到最大奇數的Java程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Vue報錯:無法正確使用filters中的過濾器,怎麼解決?引言:在Vue中,過濾器(filters)是常用的功能,可以用來格式化資料或過濾。然而,在使用過程中,有時我們可能會遇到無法正確使用過濾器的問題。本文將介紹一些常見的原因和解決方法。一、原因分析:過濾器未正確註冊:Vue中的過濾器需要先註冊,才能在模板中使用。如果過濾器未成功註冊,

Vue技術開發中如何進行資料篩選和排序在Vue技術開發中,資料篩選和排序是非常常見且重要的功能。透過資料篩選和排序,我們可以快速查詢和展示我們需要的信息,提高用戶體驗。本文將介紹在Vue中如何進行資料篩選和排序,並提供具體的程式碼範例,幫助讀者更好地理解和運用這些功能。一、資料篩選資料篩選是指依照特定的條件篩選出符合要求的資料。在Vue中,我們可以透過comp

FILTER_VALIDATE_URL常數用於驗證URL。標誌FILTER_FLAG_SCHEME_REQUIRED−URL必須符合RFC標準。 FILTER_FLAG_HOST_REQUIRED−URL必須包含主機名稱。 FILTER_FLAG_PATH_REQUIRED−URL必須在網域後面有路徑。 FILTER_FLAG_QUERY_REQUIRED−URL必須有查詢字串。傳回值FILTER_VALIDATE_URL

PHP電子郵件過濾器:過濾並辨識垃圾郵件。隨著電子郵件的廣泛應用,垃圾郵件的數量也不斷增加。對於用戶來說,接收到的大量垃圾郵件會導致資訊過載和時間浪費。因此,我們需要一種高效的方法來過濾和識別垃圾郵件。本文將介紹如何使用PHP編寫一個簡單但有效的電子郵件篩選器,並提供具體的程式碼範例。郵件過濾器基本原理郵件過濾器的基本原理是透過分析郵件的內容和屬性,判斷其是否

Vue3中的過濾器函數:優雅的處理資料Vue是一個流行的JavaScript框架,擁有龐大的社群和強大的插件系統。在Vue中,過濾器函數是一種非常實用的工具,允許我們在模板中對資料進行處理和格式化。 Vue3中的過濾器函數有了一些改變,在這篇文章中,我們將深入探討Vue3中的過濾器函數,學習如何使用它們優雅地處理資料。什麼是濾波器函數?在Vue中,過濾器函數是

Vue中使用插件實作自訂過濾器的技巧Vue.js提供了一種方便的方式來處理視圖資料過濾的需求,即過濾器(Filter)。過濾器主要負責將視圖中的資料進行格式化和處理,使資料更加直觀和易於理解。 Vue內建了一些常用的過濾器,例如日期格式化、貨幣格式化等,同時也支援自訂過濾器。本文將介紹如何使用Vue插件實作自訂過濾器的技巧,並提供一些實用的過濾

解決Tomcat中文亂碼問題的幾種方法,需要具體程式碼範例在Web開發中,我們經常會遇到Tomcat中文亂碼問題。這種問題在處理中文字符時會導致亂碼或顯示為方框、問號等字符,給用戶帶來不好的體驗。為了解決這個問題,本文將介紹幾種常用的方法,並提供具體的程式碼範例。修改Tomcat設定檔在Tomcat的安裝目錄下找到conf/server.xml文件,搜尋默認

ZendFramework是一種流行的PHP開發框架,它提供了豐富的功能和元件,使開發者能夠快速建立可擴展的網路應用程式。其中一個強大的功能是中間件(Middleware),它可以用於實現各種功能,包括郵件發送和通知。本文將示範如何使用ZendFramework的中間件來實作郵件傳送和通知功能。
