1. 程式人生 > >根據list物件中某個欄位去除重複值

根據list物件中某個欄位去除重複值

現象:
當集合中是物件的時候,因為每個物件都是new出來的,所以無法向字串那樣的去除重複的值。

方法:
1:需要在物件的實體類bean裡面重寫public boolean equals(Object obj) {} 和 public int hashCode() {} 兩個方法 需要根據哪個欄位來去除重複就寫哪個欄位

方法。
@Override  
public boolean equals(Object obj) {  
    Student s=(Student)obj;   
    return id.equals(s.id) && name.equals(s.name
); } @Override public int hashCode() { String in = id + name; return in.hashCode(); }

這裡寫圖片描述

2:在程式中去除list的重複值
這裡寫圖片描述

相關推薦

根據list物件某個去除重複

現象: 當集合中是物件的時候,因為每個物件都是new出來的,所以無法向字串那樣的去除重複的值。 方法: 1:需要在物件的實體類bean裡面重寫public boolean equals(Objec

java利用stream求list集合某個的和

直接開始秀: 如果你的list是這種的: List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5); 那麼就這麼求: IntSummaryStatistics stats = number

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

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

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

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

List集合物件按照某個去重實現

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

根據物件某個List排序

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

Hive如何根據某個動態分割槽

使用hive儲存資料時,需要對做分割槽,如果從kafka接收資料,將每天的資料儲存一個分割槽(按天分割槽),儲存分割槽時需要根據某個欄位做動態分割槽,而不是傻傻的將資料寫到某一個臨時目錄最後倒入到某一個分割槽,這是靜態分割槽。   Hive動態分割槽步驟如下: 1、建立某一個源表模擬資料來源並

List某個相同的資料相加(統計出現了幾次)

//取出初始資料 List<LdpaMtxfjlb> LdpaMtxfjlbList = ldpaMtxfjlService.selectAllInfo(); Map<String,Integer> map = new HashMap<>();

Java對JSONArray物件某個進行排序

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

List集合根據儲存物件的屬性排序實現

轉載:來自:https://blog.csdn.net/u013821825/article/details/61202287   java8之前的用法: import java.util.ArrayList; import java.util.Collections;

Easyui datagrid元件根據index更新一行記錄某個,增加一行記錄

$("#data_result").datagrid("updateRow",{ index:index, //行索引 row:{ isDefineP

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

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

通過stream()方法,一條程式碼計算List集合相同的結果。

一、下面寫了一個例子 定義一個User類 package com.newframe.controllers.api; import lombok.Data; import java.math.BigDecimal; /** * @author:wangdong * @d

批量修改sql某個的特定資訊

1.update 表名 set 欄位名=REPLACE(欄位名,'原內容','新內容') 此種寫法,會更新表中的所有資料的指定欄位,即使不含原內容,也會更新 例:將admin表中user中的所有123變為aaa update admin set user=REPLACE

MySQL 查詢表某個重複的記錄

MySQL中,查詢表(dat_bill_2018_11)中欄位(product_id)值重複的記錄: SELECT product_id, COUNT(*) AS COUNT FROM dat_bill_201811 GROUP BY product_id HAVING COUNT > 1;

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'

自定義引數 params 可以和文件某個 做計算

GET /quality_control/my_type/_search {   "query": {     "match_all": {}   },   "script_fields": {     "test2": {       "script": {        

mysql根據某一去除重複資料

SQL如下: DELETE  FROM     aa  WHERE     shopid NOT IN ( SELECT     temp.min_id  FROM  

sql查詢表某個相同,其他取最大的記錄

SELECT a.* FROM user a WHERE not EXISTS( select 1 from user where name = a.name and age > a.age ) 對user表進行掃描,編號(或姓名)相同情況下,沒有比前邊年齡大