【JAVA】【Stream流】

1. filter操作

filter()方法用于根據給定的條件過濾列表中的元素,僅保留滿足條件的項。

    List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8);List<Integer> res = list.stream().filter(a -> a % 2 == 0).collect(Collectors.toList());for(Integer it :res){System.out.println(it);}

Collectors屬于 package java.util.stream;

2. Sorted操作

sorted()方法可以對流中的元素進行排序,可以使用自然順序或自定義Comparator。

    List<String> names = Arrays.asList("Bob", "Alice", "Charlie", "David");List<String> sortedNames = names.stream().sorted().collect(Collectors.toList()); // 自然排序List<String> reverseSortedNames = names.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList()); // 倒序排序

3. GroupingBy操作

groupBy()方法用于將流中的元素按照指定的屬性進行分組,返回的是Map類型結果。

    List<Employee> employees = ... // 假設Employee類有department屬性Map<String, List<Employee>> groupedEmployees = employees.stream().collect(Collectors.groupingBy(Employee::getDepartment));

4.map操作

map 方法是 Stream 接口中的一個中間操作,它接受一個 Function 接口作為參數。這個 Function 接口定義了如何將流中的元素映射為另一個元素。map 方法返回一個新的 Stream,其中包含由原始流中的元素經過函數轉換后的結果。

map 方法的主要用途是對流中的元素進行轉換或映射。這種轉換可以是類型轉換、數據提取、邏輯處理等。通過 map 方法,可以輕松地實現復雜的數據處理邏輯,同時保持代碼的簡潔和可讀性。

字符串長度轉換

    import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;public class StreamMapExample1 {public static void main(String[] args) {List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");// 使用 map 將字符串列表轉換為對應的長度列表List<Integer> lengths = names.stream().map(String::length).collect(Collectors.toList());System.out.println("字符串長度列表: " + lengths);}}

數字加倍

    import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;public class StreamMapExample2 {public static void main(String[] args) {List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);// 使用 map 將每個數字加倍List<Integer> doubledNumbers = numbers.stream().map(n -> n * 2).collect(Collectors.toList());System.out.println("加倍后的數字列表: " + doubledNumbers);}}

int minCol = recList.stream().sorted(Comparator.comparing(Node::getCol)).collect(Collectors.toList()).get(0).col;int maxWidth = widthList.stream().sorted().collect(Collectors.toList()).get(widthList.size() - 1);int maxHeight = heightList.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList()).get(0);

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/84208.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/84208.shtml
英文地址,請注明出處:http://en.pswp.cn/web/84208.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

四、Redis實現限流

簡介&#xff1a; 限流算法在分布式領域是一個經常被提起的話題&#xff0c;當系統的處理能力有限時&#xff0c;如何阻止計劃外的請求繼續對系統施壓。 系統要限定用戶的某個行為在指定的時間里只能允許發生 N 次&#xff0c;如何使用 Redis 的數據結構來實現這個限流的功能&a…

基于Geotools的兩條道路相交并根據交點形成新路線實戰-以OSM數據為例

目錄 前言 一、需求場景及分解 1、需求場景 2、需求應用 二、需求實現 1、加載路網數據 2、獲取道路信息 3、相交點求解 4、生成新道路 5、結果可視化 三、總結 前言 在當今數字化迅速發展的時代&#xff0c;地理空間數據的處理與分析已成為眾多領域不可或缺的關鍵技…

goland有基礎速通(需要其它編程語言基礎)

tip: 無論是變量、方法還是struct的訪問權限控制都是通過命名控制的&#xff0c;命名的首字母是大寫就相當于java中的public&#xff0c;小寫的話就是private&#xff0c;&#xff08;private只有本包可以訪問&#xff09; 1 go的變量聲明 普通變量 特點&#xff1a; 變量類…

量化面試綠皮書:19. 相關系數

文中內容僅限技術學習與代碼實踐參考&#xff0c;市場存在不確定性&#xff0c;技術分析需謹慎驗證&#xff0c;不構成任何投資建議。 19. 相關系數 假設有三個隨機變量x、y和z。 x與y之間的相關系數為0.8&#xff0c;x與z之間的相關系數也是0.8。 Q: 那么y與z之間的最大相關…

新生活的開啟:從 Trae AI 離開后的三個月

很久沒有寫文章了&#xff0c;想借著入職新公司一個月的機會&#xff0c;和大家嘮嘮嗑。 離職 今年2月份我從字節離職了&#xff0c;結束了四年的經歷&#xff0c;當時離開的核心原因是覺得加班時間太長了&#xff0c;平均每天都要工作15&#xff0c;16個小時&#xff0c;周末…

LLM部署之vllm vs deepspeed

部署大語言模型(如 Qwen/LLaMA 等)時,vLLM 與 DeepSpeed 是當前主流的兩種高性能推理引擎。它們各自專注于不同方向,部署流程也有明顯區別。 vLLM 提供極致吞吐、低延遲的推理服務,適用于在線部署;DeepSpeed 更側重訓練與推理混合優化,支持模型并行,適用于推理 + 微調/…

Git(二):基本操作

文章目錄 Git(二)&#xff1a;基本操作添加文件修改文件版本回退撤銷修改情況一&#xff1a;工作區的代碼還沒有 add情況?&#xff1a;已經 add 但沒有 commit情況三&#xff1a;已經 add 并且也 commit 刪除文件 Git(二)&#xff1a;基本操作 添加文件 首先我們先來學習一個…

nginx + ffmpeg 實現 rtsp視頻實時播放和歷史播放

nginx和ffmpeg 的安裝請參考我的另一篇文章 Nginxrtmpffmpeg搭建視頻轉碼服務_nginx-rtmp-module-master-CSDN博客 目錄 1、整體方案設計如圖 2、nginx下目錄創建和配置文件創建 3、創建視頻流生成腳本 4、修改nginx配置 5、管理界面 (video.html) 6、ffmpeg后臺啟動 …

全國產!瑞芯微 RK3576 ARM 八核 2.2GHz 工業核心板—硬件說明書

前 言 本文為創龍科技 SOM-TL3576 工業核心板硬件說明書,主要提供 SOM-TL3576 工業 核心板的產品功能特點、技術參數、引腳定義等內容,以及為用戶提供相關電路設計指導。 為便于閱讀,下表對文檔出現的部分術語進行解釋;對于廣泛認同釋義的術語,在此不做注釋。 硬件參考…

web3 瀏覽器注入 (如 MetaMask)

以下是關于 瀏覽器注入方式(如 MetaMask) 的完整詳解,包括原理、使用方法、安全注意事項及常見問題解決方案: 1. 核心原理 當用戶安裝 MetaMask 等以太坊錢包擴展時,錢包會向瀏覽器的 window 對象注入一個全局變量 window.ethereum,這個對象遵循 EIP-1193 標準,提供與區…

解密提示詞工程師:AI 時代的新興職業

大家好!在人工智能飛速發展的當下&#xff0c;有一個新興職業正悄然崛起——提示詞工程師。他們雖不如數據科學家般廣為人知&#xff0c;卻在 AI 應用領域發揮著獨特且關鍵的作用。 何為提示詞工程師&#xff1f; 提示詞工程師專注于設計和優化與 AI 模型進行交互的提示詞&…

linux 下 jenkins 構建 uniapp node-sass 報錯

背景: jenkins 中構建 uniapp 應用 配置: 1. 將windows HbuilderX 插件目錄下的 uniapp-cli 文件夾復制到 服務器 /var/jenkins_home/uniapp-cli 2. jenkins 構建步驟增加 執行 shell ,內容如下 echo ">> 構建中..."# 打包前端 export LANGen_US.UTF-8…

QT常見問題(1)

QT常見問題&#xff08;1&#xff09; 1.問題描述 Qt在編譯器中直接運行沒有任何問題&#xff0c;但是進入exe生成目錄直接雙擊運行就報錯&#xff1a;文件無法定位程序輸入點_zn10qarraydata10deallocateepsyy于動態鏈接庫。 2.問題原因 這個錯誤通常是由于程序運行時找不…

『大模型筆記』第2篇:并發請求中的 Prefill 與 Decode:優化大語言模型性能

『大模型筆記』并發請求中的 Prefill 與 Decode:優化大語言模型性能 文章目錄 一. Token 生成的兩個階段:Prefill 和 Decode1.1. 指標分析1.2. 資源利用率分析二. 并發處理機制2.1. 靜態批處理 vs 持續批處理(Static Batching vs. Continuous Batching)2.2. Prefill 優先策略…

JVM(7)——詳解標記-整理算法

核心思想 標記-整理算法同樣分為兩個主要階段&#xff0c;但第二個階段有所不同&#xff1a; 標記階段&#xff1a; 與標記-清除算法完全一致。遍歷所有可達對象&#xff08;從 GC Roots 開始&#xff09;&#xff0c;標記它們為“存活”。 整理階段&#xff1a; 不再簡單地清…

進程虛擬地址空間

1. 程序地址空間回顧 我們在學習語言層面時&#xff0c;會了解到這樣的空間布局圖&#xff0c;我們先對他進行分區了解&#xff1a; 如果以靜態static修飾的變量就會當成已初始化全局變量來看待&#xff0c;存放在已初始化數據區和未初始化數據區之前。 如果不用static修飾test…

C語言學習day17-----位運算

目錄 1.位運算 1.1基礎知識 1.1.1定義 1.1.2用途 1.1.3軟件控制硬件 1.2運算符 1.2.1與 & 1.2.2或 | 1.2.3非 ~ 1.2.4異或 ^ 1.2.5左移 << 1.2.6右移 >> 1.2.7代碼實現 1.2.8置0 1.2.9置1 1.2.10不借助第三方變量&#xff0c;實現兩個數的交換…

【linux】簡單的shell腳本練習

簡單易學 解釋性語言&#xff0c;不需要編譯即可執行 對于一個合格的系統管理員來說&#xff0c;學習和掌握Shell編程是非常重要的&#xff0c;通過shell程序&#xff0c;可以在很大程度上簡化日常的維護工作&#xff0c;使得管理員從簡單的重復勞動中解脫出來 用戶輸入任意兩…

機構運動分析系統開發(Python實現)

機構運動分析系統開發(Python實現) 一、引言 機構運動分析是機械工程的核心內容,涉及位置、速度和加速度分析。本系統基于Python開發,實現了平面連桿機構的完整運動學分析,包含數學建模、數值計算和可視化功能。 二、系統架構設計 #mermaid-svg-bT8TPKQ98UU9ERet {font…

工程師生活:清除電熱水壺(鍋)水垢方法

清除電熱水壺&#xff08;鍋&#xff09;水垢方法 水垢是水加熱時自然形成的鈣質沉淀物&#xff0c;常粘附在水壺內壁及發熱盤上。它不僅影響水的品質&#xff0c;還會縮短水壺的使用壽命&#xff0c;因此需要定期清除。建議根據各地水質不同&#xff0c;每年除垢 2 至 4 次。…