list集合去除重复对象的实现

下面小编就为大家带来一篇list集合去除重复对象的实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

对象重复是指对象里面的变量的值都相等,并不定是地址。list集合存储的类型是基础类型还比较好办,直接把list集合转换成set集合就会自动去除。

当set集合存储的是对象类型时,需要在对象的实体类里面重写public boolean equals(Object obj) {} 和 public int hashCode() {} 两个方法。

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.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集合保存的是引用不同地址的对象

 Set<Student> ts = new HashSet<Student>();

 ts.addAll(stu);

 

 for (Student student : ts) {

  System.out.println(student.getId()+"-"+student.getName());

 }

 }

}

以上这篇list集合去除重复对象的实现就是小编分享给大家的全部内容了,希望能给大家一个参考

时间: 2024-10-10 06:16:17

list集合去除重复对象的实现的相关文章

List集合去除重复对象。。。记录一下

类中只有这class Role_permission{ private Integer id; private Integer rid; private Integer pid;} 重写这两个方法 判断规则pid一致我就认为两个比较的类相同 @Overridepublic boolean equals(Object obj) { if (obj == null) { return false; } if (this == obj) { return true; } if (obj instanc

List集合去除重复数据

[转自]Java中List集合去除重复数据的方法 1. 循环list中的所有元素然后删除重复 public static List removeDuplicate(List list) { for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j = list.size() - 1 ; j > i; j -- ) { if (list.get(j).equals(list.get(i))) { list.remove(j); }

List集合去除重复元素,不打乱顺序(数组转List)

//数组转List List<String> objStr_0_List = Arrays.asList(objArr[0].split("#,#")); //List集合去除重复元素,不打乱顺序 private List<String> getNon_repeatList(List<String> Str_List) { List<String> resultList = new ArrayList<String>(); S

Java中List集合去除重复数据的方法

1. 循环list中的所有元素然后删除重复 public static List removeDuplicate(List list) { for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j = list.size() - 1 ; j > i; j -- ) { if (list.get(j).equals(list.get(i))) { list.remove(j); } } } return list; } 2. 通过H

2017.4.20 ArrayList去除重复对象

public ArrayList getSingleList(ArrayList list){    ArrayList newList = new ArrayList();    Iterator iterator = list.iterator();    while (iterator.hasNext()){        Object obj = iterator.next();        if (!newList.contains(obj)){            newList

Python 迭代删除重复项,集合删除重复项

1. 迭代删除重复项:先排序列表项,然后通过新迭代(not in)去除重复项,分片打印 def sanitize(time_string): if '-' in time_string: splitter = '-' elif ':' in time_string: splitter = ':' else: return (time_string) (mins, secs)=time_string.split(splitter) return(mins + '.' + secs) with op

java集合 collection-list-ArrayList 将自定义对象作为元素存到ArrayList集合中,并去除重复元素。

import java.util.*; /* 将自定义对象作为元素存到ArrayList集合中,并去除重复元素. 比如:存人对象.同姓名同年龄,视为同一个人.为重复元素. 思路: 1,对人描述,将数据封装进人对象. 2,定义容器,将人存入. 3,取出. List集合判断元素是否相同,依据是元素的equals方法. */ class Person { private String name; private int age; Person(String name,int age) { this.n

去除List集合中的重复元素? 如果没有Set集合,List集合是怎么去除重复元素的(字符串类型,自定义类型)?

 关键字: 如果没有Set集合,List集合是怎么去除重复元素的(字符串类型)?  *   *     思考: List就可以存储重复元素,那么需求中容器中的元素必须保证唯一性,该如何解决呢??  *      *   去除List集合中的重复元素?  * * 思路: * * 1.首先我需要另一个临时容器tempList,用来存放我认为应该保留的元素.(也就是不重复的元素) * 2.然后我们应该遍历原容器, 一个一个的取出元素, 放入tempList. * 当tempList里已经装有刚刚取出的

从List去除重复拾忆集合

方法1: private static List<int> DistinctList(List<int> list) {//去除重复 HashSet<int> ha = new HashSet<int>(list); list.Clear(); list.AddRange(ha); return list; } 原理:HashSet每次存入会计算哈希值,哈希值相同则比较对方是否相同,不同则直接存入 方法2: private static List<in