pojo類中list存儲其他字段_List集合流處理類型小結

本文為博主原創,未經允許不得轉載

對應實體類

importlombok.Getter;importlombok.Setter;

@Getter

@Setterpublic classStudent {privateString name;private intage;privateString className;privateString birthday;

}

1.根據字段取出某一個字段屬性的集合

List studentList = new ArrayList<>();

List newList =studentList.stream().map(Student::getAge).collect(Collectors.toList());for(Student student : newList) {

System.out.println(student.getName()+"---"+student.getAge());

}

2。List根據某個字段升序排序

List studentList = new ArrayList<>();

List newList =studentList.stream().sorted(Comparator.comparing(Student::getAge)).collect(Collectors.toList());for(Student student : newList) {

System.out.println(student.getName()+"---"+student.getAge());

}

3.List根據某個字段排序降序

List list = new ArrayList<>();

list= list.stream().sorted(Comparator.comparing(Student::getAge).reversed()).collect(Collectors.toList());

4.獲取某一字段屬性值對應的數據集合

List resultList =studentList.stream()

.filter((Student stu)->area.equals(stu.getAge()))

.collect(Collectors.toList());

5.根據某個字段值獲取出對應的對象

Student stu =studentList.stream()

.filter(p-> "2018-08-12 12:10".equals(p.getBirthday()))

.findAny().orElse(null);

6.對集合元素去重

List nameList = new ArrayList<>();

nameList= nameList.stream().distinct().collect(Collectors.toList());

7.對集合某一個屬性進行求和

List stuList = new ArrayList<>();double totalAge = stuList.stream().collect(Collectors.summingDouble(Student::getAge));

8。獲取集合中的某一個屬性的數據集合并去重

// 所有的ip信息對象集合

List netInfoList =netIpService.queryNetIpList();

// 從所有IP信息對象集合中根據機房id過濾出所有機房id不同的數據對象,并根據機房id去重

List distinctIpRoomList =netInfoList.stream().collect(Collectors

.collectingAndThen(Collectors.toCollection(()-> new TreeSet<>(

Comparator.comparing(NetiIpInfo::getIpRoomId))), ArrayList::new));

代碼是很簡答,很優雅的

解釋一下

list.stream(): 是把list集合轉化為stream集合

sorted(): 進行排序,其中Comparator.comparing(Student::getAge)表示按照年紀排序,

.reversed()表示是逆序,因為默認情況下,不加.reversed 是升序的

collect(Collectors.toList()): 再次將排序后的stream集合轉化為list集合

.findAny()表示將其中任意一個返回;

.orElse(null)表示如果一個都沒找到返回null

distinct() 對集合元素或對象去重

summingDouble() 對集合元素進行求和為double類型數據

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

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

相關文章

Hash表的擴容(轉載)

Hash表&#xff08;Hash Table&#xff09;hash表實際上由size個的桶組成一個桶數組table[0...size-1] 。 當一個對象經過哈希之后。得到一個對應的value , 于是我們把這個對象放到桶table[ value ]中。當一個桶中有多個對象時。我們把桶中的對象組織成為一個鏈表。 這在沖突處…

寫在前面的一些話:《Learning OpenCV》中文版 .

2009-09-17 15:51 7578人閱讀 評論(4) 收藏 舉報 <!-- /* Font Definitions */ font-face {font-family:Helvetica; panose-1:2 11 5 4 2 2 2 2 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-format:other; mso-font-pitch:variable; mso-font-sign…

獨家 | 一文讀懂自然語言處理NLP(附學習資料)

前言 自然語言處理是文本挖掘的研究領域之一&#xff0c;是人工智能和語言學領域的分支學科。在此領域中探討如何處理及運用自然語言。 對于自然語言處理的發展歷程&#xff0c;可以從哲學中的經驗主義和理性主義說起。基于統計的自然語言處理是哲學中的經驗主義&#xff0c;基…

python mock測試_使用mock測試python中的函數

對于測試覆蓋&#xff0c;我想測試文件signalC中該函數的異常塊&#xff1a;class SignalC:def readSignal(self, a):try:with open(os.path.join(self.newSubFolder, "my file" .csv), a) as csvfile:writer csv.writer(csvfile, delimiter,, quotechar|,quotingc…

如何更好閱讀源代碼 .

寫在前面的話&#xff1a;    自從我在linuxaid.com.cn上發表一些文章開始&#xff0c;就不斷的有網友發來電子郵件&#xff0c;或者是就其中某些問題進行探討&#xff0c;或者是查詢其他文章的地址&#xff08;往往這些網友看的是其他網站轉載的我的文章&#xff09;&#x…

wins系統flask綁定mysql_flask如何連接mssql,網上大多是sqlite和mysql教程?

這個居然也冒出來&#xff0c;刨墳了。我們不喜歡寫原生SQL語句&#xff0c;那個寫著費勁&#xff0c;日常開發時候&#xff0c;我們怎么CRUD數據庫呢&#xff1f;一般使用ORM&#xff0c;對象關系映射(英語&#xff1a;Object Relational Mapping&#xff0c;簡稱ORM)。主力使…

hdu 6086 -- Rikka with String(AC自動機 + 狀壓DP)

題目鏈接 Problem DescriptionAs we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some math tasks to practice. There is one of them:Yuta has n 01 strings si, and he wants to know the number of 01 antisymmetric strings …

課堂動手動腦問題

對于隨機數&#xff0c;java通過Math.random&#xff08;&#xff09;來實現&#xff0c;比如要得到一個隨機數我們可以int a&#xff1b; a&#xff08;int&#xff09;Math.random();但對于隨機數&#xff0c;它是從0到1之間的數&#xff0c;所以必須通過int把它轉為整數&…

GNU/Linux下有多少是GNU的?

導讀&#xff1a;一個葡萄牙的學生寫了一篇文章 《How much GNU is there in GNU/Linux?》由酷殼網的陳皓整理編譯為《GNU/Linux下有多少是GNU的》。這篇文章主要分布了今年4月份的Ubuntu Natty的Linux分發包。其主要是用代碼行來做的分析&#xff0c;用兩個餅圖對比分析。 內…

便攜式三星mysql_JDBC鏈接mysql - 三星藍

package chp07;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;public classJDBC_Test {//創建靜態全局變量staticConnection conn;staticStatement st;public static voidmain(Stri…

C++ 類、對象、class

一、對象初始化 1.不能在類聲明中對數據成員初始化&#xff0c;因為類只是一個抽象類型&#xff0c;不占存儲空間&#xff0c;無處容納數據。 2.若某類的數據成員都是public&#xff0c;則可以像結構體一樣初始化&#xff0c;如 Time t{12,21,04}&#xff1b; 若數據成員有priv…

Unity 富文本

參考鏈接&#xff1a;http://www.ceeger.com/Manual/StyledText.html 首先要說的是不僅僅ugui的text組件支持富文本&#xff0c;Debug.Log也是支持的 Debug.Log("<color#ffff00ff><b>愛生活</b></color> <color#00ffffff><b> 愛海瀾&…

Web項目替換jar包中的文件的方法

經常遇到這樣的問題&#xff0c;需要修改jar包中的方法。應該如何做&#xff1f; 1、有些很人性化的框架jar包&#xff0c;比如SpringSecurity&#xff0c;可以修改配置文件指定一個新建的類&#xff0c;讓類實現Jar包中的對應的接口就好了。 2、大部分的jar包都不會有這么方便…

程序員技術練級攻略

導讀&#xff1a;本文是由陳皓和他的一位朋友Mailper合作完成&#xff0c;原名叫《Build Your Programming Technical Skills》&#xff0c;本文分享了Mailper和作者個人的學習經歷。每個程序員都希望自己能順利的升級到高的層次&#xff0c;您不妨按照下面的方法去做。 前言 你…

Linux shell 之 提取文件名和目錄名的一些方法

很多時候在使用Linux的shell時&#xff0c;我們都需要對文件名或目錄名進行處理&#xff0c;通常的操作是由路徑中提取出文件名&#xff0c;從路徑中提取出目錄名&#xff0c;提取文件后綴名等等。例如&#xff0c;從路徑/dir1/dir2/file.txt中提取也文件名file.txt&#xff0c…

bzoj 2752: [HAOI2012]高速公路(road)

Description Y901高速公路是一條重要的交通紐帶&#xff0c;政府部門建設初期的投入以及使用期間的養護費用都不低&#xff0c;因此政府在這條高速公路上設立了許多收費站。Y901高速公路是一條由N-1段路以及N個收費站組成的東西向的鏈&#xff0c;我們按照由西向東的順序將收費…

搭建DNS主、從服務實驗

此次我們的口號是&#xff1a;簡單、有趣上手DNS服務博主是一個言出必行de好人&#xff0c;&#xff08;正經臉&#xff09;上次轉載了有關DNS的基礎介紹&#xff0c;此次我們來通過實驗搭建DNS服務器從而更好的了解DNS搭建過程如何開始&#xff0c;且聽我細細道來首先我們通常…

GDB中應該知道的幾個調試方法

七、八年前寫過一篇《用GDB調試程序》&#xff0c;于是&#xff0c;從那以后&#xff0c;很多朋友在MSN上以及給我發郵件詢問我關于GDB的問題&#xff0c;一直到今天&#xff0c;還有人在問GDB的相關問題。這么多年來&#xff0c;有一些問題是大家反復在問的&#xff0c;一方面…

長沙java技術_長沙如何提高自身的Java技術

長沙如何提高自身的Java技術&#xff1f;Java自發行二十多年來&#xff0c;一直都是開發者的寵兒&#xff0c;在編程界的位置一直十分穩固。雖然Java人才需求量大&#xff0c;薪資水平高&#xff0c;但想要用Java語言勝任企業工作不容易。比如要成為一名Java架構師&#xff0c;…

strcpy與strcat函數原型

1.strcpy函數原型 char *my_strcpy(char *dest,const char *src) //const使在函數中不能修改*src其原先的值{   char *strDest dest; //保存原始的strDest   assert((dest!NULL)&&(src!NULL)); //檢驗參數&#xff0c;…