Java List<T>去重方法,引用類型集合去重

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

一、實體類中要重寫比較方法equals,最好也重寫hashcode方法

public class WorkWeightDto implements Serializable {private static final long serialVersionUID = 8245791221237374426L;//    @Id  沒有加id自增長策略 會影響到別的實體數據插入。private String id;private String projectId; // 項目Idprivate String projectName; // 項目    private String startTime; // 開始時間private String endTime; // 結束時間   private String managerId; // 負責人Idpublic WorkWeightDto() {}public WorkWeightDto(String id, String projectId, String startTime) {this.id = id;this.projectId = projectId;this.startTime = startTime;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;WorkWeightDto ww = (WorkWeightDto) o;if (id.equals(ww.getId()) && projectId.equals(ww.getProjectId()) && startTime.equals(ww.getStartTime())){return true;}return false;}@Overridepublic int hashCode() {return id.hashCode() + projectId.hashCode()+startTime.hashCode();}

?

二、去重方法實現

?

 private List<WorkWeightDto> deleteSame(List<WorkWeightDto> dtoList){Iterator<WorkWeightDto> it = dtoList.iterator();WorkWeightDto next =null;List<WorkWeightDto> newList = new ArrayList<WorkWeightDto>();while(it.hasNext()){next = it.next();if(!newList.contains(next)){newList.add(next);}}return  newList;}


三、其它方法參見:集合去重方法A? 、?集合去重方法B

?

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

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

相關文章

MyBatis知識點

一、MyBatis簡介 1.1 框架概念 框架&#xff0c;就是軟件的半成品&#xff0c;完成了軟件開發過程中的通用操作&#xff0c;程序員只需很少或者不用進行加工就能夠實現特定的功能&#xff0c;從而簡化開發人員在軟件開發中的步驟&#xff0c;提高開發效率。 1.2 常用框架 MVC…

android studio : clang++.exe: error: invalid linker name in argument '-fuse-ld=bfd

公司jenkins上的C編譯器最近換成了clang&#xff0c;今天更新了代碼發現本地的C/C代碼用NDK編譯不過了&#xff0c;提示&#xff1a; “clang.exe: error: invalid linker name in argument -fuse-ldbfd” 解決辦法&#xff1a; 將Android.mk文件中的“LOCAL_LDFLAGS -fuse-ld…

Git知識點

一、Git簡介 1.1 項目的版本管理 在項目開發過程中&#xff0c;項目沒開發到一個節點就會對當前項目進行備份&#xff0c;這個備份就是項目的一個版本&#xff1b;當我們繼續開發一個階段后&#xff0c;再次進行備份&#xff0c;就生成新的版本——多個版本的集合就是項目的版…

(1)初始化項目

2019獨角獸企業重金招聘Python工程師標準>>> &#xff08;1&#xff09;初始化項目 1 使用vue-cli初始化項目 vue init webpack my-renren得到以下輸出&#xff1a; ? Project name my-renren ? Project description A Vue.js project ? Author neumeng <4048…

C語言變量

C語言二進制、八進制、十六進制詳解 什么是二制制? 在數學計算中&#xff0c;二進制計數系統的公分母是最小的&#xff0c;它以2為基數。你還記得在小學或中學時所學的不同的計數系統嗎?筆者在上小學時&#xff0c;曾在一堂數學課中學過以6為基數的計數系統&#xff1b;你先…

Spring Data JPA - 參考文檔 地址

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Spring Data JPA - 參考文檔 文檔地址

JS內置方法(Array)

concat() 用于連接兩個或多個數組&#xff0c;該方法不會改變現有的數組&#xff0c;而是返回被連接數組的一個副本。join() 把數組中的所有元素放入一個字符串&#xff0c;元素是通過指定的分隔符進行分隔的。若省略了分隔符參數&#xff0c;則使用逗號作為分隔符。push() 向…

模切ERP和免費OA系統是互相結合提高效率

模切ERP和免費OA系統是互相結合提高效率在模切行業中&#xff0c;模切ERP在管理上的作用占了很大的比重&#xff0c;但是免費OA在管理上的地位都不容忽視的。點晴OA的核心問題是如何提高日常的辦公效率問題。因此點晴OA系統里包含的功能是非常全面&#xff0c;如&#xff1a;辦…

maven知識點

一、Maven簡介 1.1 在項目中如何導入jar包&#xff1f; 下載jar包 &#xff08;mvn&#xff09;將下載的jar包拷貝到項目中&#xff08;WEB-INF/lib&#xff09;選擇jar文件–右鍵–Add as Library 1.2 傳統導入jar包的方式存在什么問題&#xff1f; 步驟多&#xff08;相對…

使用SpringBoot yml配置文件

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1.上一次我們已經使用SpringBoot實現了一個簡單的HelloWord程序&#xff0c;辣么接下來我們簡單的使用一下他的yml格式的配置文件。 2.在…

軟件行業資訊

為什么只有設計師才能發明流行的新語言 先回顧一下知名編程語言的作者和創造時間&#xff1a;Fortran 語言&#xff0c;50年代&#xff0c;IBM 研究員&#xff1b;Lisp 語言&#xff0c;50年代&#xff0c;MIT 的教授和學生&#xff1b;C語言&#xff0c;70年代&#xff0c;貝爾…

spring知識點

一、Spring概述 1.1 web項目開發中的耦合度問題 在Servlet中需要調用service中的方法&#xff0c;則需要在Servlet類中通過new關鍵字創建Service的實例 public interface ProductService{public List<Product> listProducts(); }public class ProductServiceImpl1 imple…

Linux系統下的權限試題測試

不會做的留言&#xff0c;到時在發布答案&#xff01;一、 有兩個參賽團隊team1、team2&#xff0c;兩個團隊各3人, 這兩個團隊互相競爭&#xff0c;各需提交一份報告&#xff0c;每組成員可以修改自己團隊內的所有文件&#xff0c;且不能讓其他團隊的人修改自己的文件內容&…

電子科大軟件系統架構設計——軟件建模詳細設計

文章目錄 軟件建模詳細設計概述軟件建模詳細設計目標軟件建模詳細設計原則開閉原則里氏 (Liskov) 替換原則依賴倒置原則接口分離原則單一職責原則最少知識原則&#xff08;迪米特法則&#xff09;高內聚原則松耦合原則可重用原則 軟件建模詳細設計內容 UML 軟件靜態結構視圖建模…

YAML文件解析

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 YAML是“另一種標記語言”的外語縮寫,YAML 是一種比JSON&#xff08;json多層次{ 與 [ 會被搞暈的&#xff09;更直觀的表現形式&#xf…

120分鐘React快速掃盲教程

在教程開端先說些題外話&#xff0c;我喜歡在學習一門新技術或讀過一本書后&#xff0c;寫一篇教程或總結&#xff0c;既能幫助消化&#xff0c;也能加深印象和發現自己未注意的細節&#xff0c;寫的過程其實仍然是一個學習的過程。有個記錄的話&#xff0c;在未來需要用到相關…

springmvc知識點

一、SpringMVC概述 Spring MVC 是由Spring官方提供的基于MVC設計理念的web框架。 SpringMVC是基于Servlet封裝的用于實現MVC控制的框架&#xff0c;實現前端和服務端的交互。 1.1 SpringMVC優勢 嚴格遵守了MVC分層思想 采用了松耦合、插件式結構&#xff1b;相比較于我們封裝的…

spring @component的作用

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1、controller 控制器&#xff08;注入服務&#xff09; 2、service 服務&#xff08;注入dao&#xff09; 3、repository dao&#xff…

微信小程序 懸浮按鈕

2019獨角獸企業重金招聘Python工程師標準>>> 效果視頻 https://pan.baidu.com/s/1yfrDaG9YAX0--v0EA3awZA 布局需要按照圓形排列&#xff0c;所以我們需要計算每個點的坐標 代碼部分 <view styleposition:fixed; wx:for"{{list}}" wx:for-index"i…

C語言const關鍵字—也許該被替換為readolny

const 是constant 的縮寫&#xff0c;是恒定不變的意思&#xff0c;也翻譯為常量、常數等。很不幸&#xff0c;正是因為這一點&#xff0c;很多人都認為被const 修飾的值是常量。這是不精確的&#xff0c;精確的說應該是只讀的變量&#xff0c;其值在編譯時不能被使用&#xff…