目錄
專(zhuān)注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)額爾古納免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。1 根據(jù)對(duì)象中的某一個(gè)屬性去重
前置知識(shí)
---TreeSet---
-----Comparator.comparing ----
2對(duì)象整體去重
1 根據(jù)對(duì)象中的某一個(gè)屬性去重 前置知識(shí) ---TreeSet---TreeSet是一個(gè)有序集合,它擴(kuò)展了AbstractSet類(lèi)并實(shí)現(xiàn)了NavigableSet接口。
有以下特點(diǎn)
1 它存儲(chǔ)唯一的元素
2 它不保留元素的插入順序
3 它按升序?qū)υ剡M(jìn)行排序
4 它不是線(xiàn)程安全的
在實(shí)現(xiàn)中,對(duì)象根據(jù)其自然順序以升序排序和存儲(chǔ)。該TreeSet中使用平衡樹(shù)。常用API
TreeSet add
TreeSet contains
TreeSet remove
TreeSet clear
TreeSet size
TreeSet isEmpty?
TreeSet iterator
TreeSet first
TreeSet last?
TreeSet subSet
TreeSet headSet具體看
Java TreeSet - Java教程 - 菜鳥(niǎo)教程 (cainiaojc.com)
常用在對(duì)象元素排序中
-----Comparator.comparing ----
comparing
是比較器功能接口的靜態(tài)方法。
Comparator.comparing
方法在Java 8
中被引入。
Comparator.comparing
接受一個(gè)函數(shù),該函數(shù)從給定類(lèi)型中提取一個(gè)可比較的排序鍵(lambda形式的鍵),并返回一個(gè)通過(guò)該排序鍵進(jìn)行比較的比較器。思路:
先使用Comparator.comparing 對(duì)對(duì)象元素排序,然后將返回的迭代器對(duì)象給TreeSet,進(jìn)行去重操作
代碼
public static List
toDistinctList(List list) { //標(biāo)簽對(duì)象,根據(jù)標(biāo)簽名去除重復(fù)值 Set Set1 = new TreeSet<>(Comparator.comparing(Category::getCategoryName)); Set1.addAll(list); list.clear(); list.addAll(Set1); return list; } 測(cè)試
@Test public void toDistinctList() { List
list=new ArrayList<>(); list.add(new Category(1L,"JAVA","s4c","")); list.add(new Category(1L,"JAVA","4sc","")); list.add(new Category(1L,"C","sc2","")); list.add(new Category(1L,"C","sc1","")); list.add(new Category(1L,"A","s5c","")); List categories = AdminBlogBo.toDistinctList(list); System.out.println(categories); }
2對(duì)象整體去重也是使用java8的新特性
public static List
toDistinctList(List list) { list = list .stream() .distinct() .collect(Collectors.toList()); return list; 測(cè)試
@Test public void toDistinctList() { List
list=new ArrayList<>(); list.add(new Category(1L,"JAVA","4sc","")); list.add(new Category(1L,"JAVA","4sc","")); list.add(new Category(1L,"C","4sc","")); list.add(new Category(1L,"C","4sc","")); list.add(new Category(1L,"A","s5c","")); List categories = AdminBlogBo.toDistinctList(list); System.out.println(categories); } 結(jié)果
[Category(categoryId=1, categoryName=JAVA, categoryDescription=4sc, categoryIcon=), Category(categoryId=1, categoryName=C, categoryDescription=4sc, categoryIcon=), Category(categoryId=1, categoryName=A, categoryDescription=s5c, categoryIcon=)]
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前名稱(chēng):JAVA對(duì)象整體去重+按照對(duì)象內(nèi)某個(gè)屬性去重-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://aaarwkj.com/article44/dihpee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、建站公司、網(wǎng)站策劃、域名注冊(cè)、微信公眾號(hào)、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容