欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

list集合去除重復(fù)對(duì)象的實(shí)現(xiàn)

 更新時(shí)間:2017年01月17日 08:54:54   投稿:jingxian  
下面小編就為大家?guī)硪黄猯ist集合去除重復(fù)對(duì)象的實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

對(duì)象重復(fù)是指對(duì)象里面的變量的值都相等,并不定是地址。list集合存儲(chǔ)的類型是基礎(chǔ)類型還比較好辦,直接把list集合轉(zhuǎn)換成set集合就會(huì)自動(dòng)去除。

當(dāng)set集合存儲(chǔ)的是對(duì)象類型時(shí),需要在對(duì)象的實(shí)體類里面重寫public boolean equals(Object obj) {} 和 public int hashCode() {} 兩個(gè)方法。

實(shí)體類

public class Student {

public String id;
public String name;
public Student() {
}
public Student(String id,String name) {
this.id = id;
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@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();
}
}

測試類

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class QuSame {
 
 public static void main(String[] args) {
 List<Student> stu = new ArrayList<Student>();
 stu.add(new Student("1","yi"));
 stu.add(new Student("3","san"));
 stu.add(new Student("3","san"));
 stu.add(new Student("2","er"));
 stu.add(new Student("2","er"));
 //set集合保存的是引用不同地址的對(duì)象
 Set<Student> ts = new HashSet<Student>();
 ts.addAll(stu);
 
 for (Student student : ts) {
  System.out.println(student.getId()+"-"+student.getName());
 }
 }
}

以上這篇list集合去除重復(fù)對(duì)象的實(shí)現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • idea中cherry pick的用法

    idea中cherry pick的用法

    Cherry-Pick可以將一個(gè)分支的某些commit,合并到另一個(gè)分支,本文給大家分享idea中cherry pick的用法,感興趣的朋友跟隨小編一起看看吧
    2023-08-08
  • 詳解Mybatis注解寫法(附10余個(gè)常用例子)

    詳解Mybatis注解寫法(附10余個(gè)常用例子)

    這篇文章主要介紹了詳解Mybatis注解寫法(附10余個(gè)常用例子),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 詳解springmvc 中controller與jsp傳值

    詳解springmvc 中controller與jsp傳值

    本篇文章主要介紹了springmvc 中controller與jsp傳值,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • Spring AOP手動(dòng)實(shí)現(xiàn)簡單動(dòng)態(tài)代理的代碼

    Spring AOP手動(dòng)實(shí)現(xiàn)簡單動(dòng)態(tài)代理的代碼

    今天小編就為大家分享一篇關(guān)于Spring AOP手動(dòng)實(shí)現(xiàn)簡單動(dòng)態(tài)代理的代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 使用Get方式提交數(shù)據(jù)到Tomcat服務(wù)器的方法

    使用Get方式提交數(shù)據(jù)到Tomcat服務(wù)器的方法

    這篇文章將介紹向服務(wù)器發(fā)送數(shù)據(jù),并且服務(wù)器將數(shù)據(jù)的處理結(jié)果返回給客戶端,本文給大家介紹使用Get方式向服務(wù)器發(fā)送數(shù)據(jù),感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • Springboot整合redis實(shí)現(xiàn)發(fā)布訂閱功能介紹步驟

    Springboot整合redis實(shí)現(xiàn)發(fā)布訂閱功能介紹步驟

    發(fā)布訂閱作為一種設(shè)計(jì)思想在很多開源組件中都有體現(xiàn),比如大家熟知的消息中間件等,可謂把發(fā)布訂閱這一思想體現(xiàn)的淋漓盡致了
    2022-09-09
  • springboot整合minio實(shí)現(xiàn)文件上傳與下載且支持鏈接永久訪問

    springboot整合minio實(shí)現(xiàn)文件上傳與下載且支持鏈接永久訪問

    本文主要介紹了springboot整合minio實(shí)現(xiàn)文件上傳與下載且支持鏈接永久訪問,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java8新特性之默認(rèn)方法詳解

    Java8新特性之默認(rèn)方法詳解

    JAVA8 所提供的默認(rèn)方法,就是在接口上你可以定義某些方法的實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于Java8新特性之默認(rèn)方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • Maven build 命令介紹的使用詳解

    Maven build 命令介紹的使用詳解

    這篇文章主要介紹了Maven build 命令介紹的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • java線程之死鎖

    java線程之死鎖

    這篇文章主要介紹了Java線程之死鎖,死鎖是這樣一種情形-多個(gè)線程同時(shí)被阻塞,它們中的一個(gè)或者全部都在等待某個(gè)資源被釋放。由于線程被無限期地阻塞,因此程序不可能正常終止
    2022-05-05

最新評(píng)論