1. 程式人生 > >List集合中的物件按照某個欄位去重實現

List集合中的物件按照某個欄位去重實現

總感覺自己太菜,還在基礎上摸爬滾打。

package com.huixin;

import java.util.*;

/**
 * 根據物件屬性欄位給list集合去重
 *
 * @author Lance
 * @date 2017/03/14
 */
public class ListQC {
    public static void main(String[] args) {
        List<User> userList = new ArrayList<User>();
        User user1 = new User("張三", "001");
        userList.add(user1);
        User user2 = new
User("李四", "001"); userList.add(user2); User user3 = new User("王五", "002"); userList.add(user3); for (User u : userList) { System.out.println(u.getName()); } System.out.println("去重後=======>"); List<User> userListNoDupAndSort = removeDuplicateUser(userList); for
(User u : userListNoDupAndSort) { System.out.println(u.getName()); } } private static ArrayList<User> removeDuplicateUser(List<User> users) { Set<User> set = new TreeSet<User>(new Comparator<User>() { @Override public
int compare(User o1, User o2) { //字串,則按照asicc碼升序排列 return o1.getUserId().compareTo(o2.getUserId()); } }); set.addAll(users); return new ArrayList<User>(set); } } class User { private String name; private String userId; public User(String name, String userId) { this.name = name; this.userId = userId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } }

效果:

張三
李四
王五
去重後=======>
張三
王五

相關推薦

List集合物件按照某個實現

總感覺自己太菜,還在基礎上摸爬滾打。 package com.huixin; import java.util.*; /** * 根據物件屬性欄位給list集合去重 * * @autho

fastjson根據json陣列物件某個進行排序

記錄一下 /** *@Author:vic *@Date:14:59 2018/11/30 *@Description: is_desc-false升序列 is_desc-true降序 */ public static String jsonArraySor

C#NPOI.RabbitMQ.EF.Attribute.HttpRuntime.Cache.AD域.List<T>根據指定.前端JQuery.Cache.I18N(多語言).data-xx(自定義屬性)

使用NPOI 操作Excel           個人使用的電腦基本預設安裝Excel 操作起來                       &n

php二維陣列根據某個

php的二維陣列根據某個欄位去重,在這預設為二維陣列的結構是一樣的,現在根據二維數組裡的id欄位去重,把id相同的重複的元素去掉 /** * 二維陣列根據某個欄位去重 * @param array $array 二維陣列 * @para array 去重後的陣列 */ private funct

根據某個 根據另一個排序的一個SQL

背景:一張表 有 name , crt_time , work_sts 三個欄位 這張表裡存在這樣的資料 'a', '2018-12-18 21:37:24', '未''a', '2018-12-19 09:37:24', '完''a', '2018-12-19 21:37:24', '未''b', '2

oracle根據某個查詢例項

if not object_id(‘Tempdb..#T’) is null drop table #T Go Create table #T([ID] int,[Name] nvarchar(1),[Memo] nvarchar(2)) Ins

mysql分組後計算分組的組數和根據某個計數

計算分組的組數SELECT count(1) from (select COUNT(1) as sum FROM TM_APP_MAIN A INNER JOIN TM_APP_PRIM_APPLIC

list集合按照某個排序(從大到小),然後將list物件倒序

需求: 查詢資料庫的到多條據,將每一行資料相加求和,得到sum,在jsp中跟據sum總和排序。 首先,我是用Page<Analysis> page  去接受返回值,在controller層進行資料處理。List<Analysis> list  =

Java中將List的實體類按照某個進行分組並存放至Map

假設有實體類User,裡面有欄位id,我們將相同id的User進行分組,並存放在Map中。(例子不是很恰當,但很能說明問題) ​ public static void main(String[] args) { List<User> list = n

Java對JSONArray物件某個進行排序

需求: 今天呼叫一個第三方介面,然後返回的是一個josn陣列,需要根據裡面的“報告日期”報告日期進行由大到小排序,最新的排在前面。 這種別人介面已經開發完成,不能改,所以只有我們自己來排序。 思路一():將josn陣列轉為list集合,然後獲取到裡面的每個物件,再獲取“報告日期”,然後排序,然後對對應的

Java 合併兩個list按照某個排序

public static void main(String[] args) { List<ReplyInfo> replyInfos1 = new ArrayList<>(); ReplyInfo r1 = new ReplyInfo();

處理二維陣列, 按照某個合併重複的,其餘部分保留,部分相加

  //處理二維陣列, 按照某個欄位合併重複的,其餘欄位中部分欄位保留,部分相加 public function deal_erwei_arr(){ $param = array( array ( 'hykno'

hive按照某個分組,然後獲取每個分組最新的n條資料

hive -e "use db; select t.advertId,t.exposureNum from (select advertId,exposureNum,ROW_NUMBER() OVER(PARTITION BY advertId ORDER BY addTime desc

java 根據物件某個(boolean)對集合進行排序

java 根據物件的某個欄位對集合進行排序 需求大概如下: 一批裝置型別列表,有些是必裝的,需要將必裝的和不必裝的進行排序。 物件的必裝欄位只有兩個值,‘true’和‘false’,之前

根據物件某個List排序

首先說下需求,在開發中會遇到對List<Object>進行排序,這個也可以在資料庫裡面查詢排序出來,但是有的時候會在查出來之後做一些邏輯處理然後排序,所有就要用到物件排序。 首先建立一個

List使用Stream流進行集合Collection的各種運算彙總:對BigDecimal求和,某個的和、最大值、最小值、平均值,,過濾等

       寫Java介面的朋友都知道,Java 8的更新,經常會用到過濾 list<Object> 裡的資料,本文就對List使用Stream流進行集合Collection的各種運算做一個彙總! 優勢:       &nbs

list按照

private static ArrayList<InformationDetailVo> removeDuplicate(List<InformationDetailVo> list) { Set<InformationDetailVo&g

list集合物件日期排序

程式碼直接用就好! 傳入一個  集合物件 ,我的bean中時間屬性是 date 型別; private static void ListSort(List<JzdtInfo> list) { { //排序方法 Collections.sort(lis

java8List根據某一

前言 在做一個記錄操作日誌功能,根據型別及稽核使用者名稱稱去查詢操作日誌。稽核使用者名稱稱,在這裡將資料全部查詢出來了,可是我只想要每個人的姓名,而不是出現重複人名,比如:楊平,出現了好多。如何解決此問

無視修飾符,不經過getter函式直接獲取物件某個的屬性值

直接上程式碼: public class ReflectionUtils { /** * 直接讀取物件屬性值, 無視private/protected修飾符, 不經過getter函式. */ public static Object getFieldValue(fin