List或者arraylist去掉重复数据(对象也可以)

方法:将list或者arraylist中的数据加载到linkedhashset中  然后在加载到list或者arraylist中

测试用例如下:

public class TestSet {

	public static void main(String[] args) {
		List<Student> list1 = new ArrayList<Student>();
		list1.add(new Student("张三","12"));
		list1.add(new Student("张三","12"));
		list1.add(new Student("李四","12"));
		list1.add(new Student("王五","15"));
		list1.add(new Student("张三","12"));
		list1.add(new Student("张三","13"));
		System.out.println(list1.toString());
		Set<Student> set = new LinkedHashSet<Student>();
                set.addAll(list1);
                List<Student> list2 = new ArrayList<Student>();
                list2.addAll(set);
                System.out.println(list2.toString());
	}

}

对象:

public class Student {

	String name;
	String age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((age == null) ? 0 : age.hashCode());
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Student other = (Student) obj;
		if (age == null) {
			if (other.age != null)
				return false;
		} else if (!age.equals(other.age))
			return false;
		if (name == null) {
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		return true;
	}
	@Override
	public String toString() {
		return "Student [name=" + name + ", age=" + age + "]";
	}
	public Student(String name, String age) {
		super();
		this.name = name;
		this.age = age;
	}
	public Student() {
		// TODO Auto-generated constructor stub
	}
}

结果

时间: 2024-10-02 18:30:01

List或者arraylist去掉重复数据(对象也可以)的相关文章

Android List去掉重复数据

今天用数据库获取数据发现有个字段的数据重复了,于是就写了下面这个方法去除重复的数据. public static List<String> removeDuplicate(List<String> list) { Set set = new LinkedHashSet<String>(); set.addAll(list); list.clear(); list.addAll(set); return list; }

Hibernate的一对多查询及去掉重复的对象distinct

问:sql 中 select * from A left join B on A.id=B.id where A.id=? 如果在Hibernate 中 用HQL 怎么表达呢 ? 答:from A left join A.b b where A.id=? 其中b是在实体类A的hibernate配置文件中映射的对象B <hibernate-mapping package="com.XXXX.entities">    <class name="A"

$.unique() 对象组成的数组去掉重复对象

发现一件事,一个完全由对象组成的数组,用$.unique()方法去掉重复的时候不管用 1 var arr = [{text:'第一个',value:'1'},{text:'第二个',value:'2'},{text:'第三个',value:'3'},{text:'第一个',value:'1'},{text:'第二个',value:'2'},{text:'第三个',value:'3'}] 假设用 arr = $.unique(arr),这种方法处理一下,去掉重复的对象,结果返回的还是arr 原来的

Mysql: 利用强制索引去掉重数据

数据库版本: [[email protected]mysqltest ~]# mysql -u root -p123456 Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 389805 Server version: 5.1.73-community MySQL Community Server (GPL) Copyright (c) 2000, 2013, Oracle

oracle学习----去除表中的重复数据

重复的数据可能有这样两种情况,第一种:表中只有某些字段一样,第二种:两行记录完全一样.第一.对于部分字段重复数据的删除        先来谈谈如何查询重复的数据吧.        下面语句可以查询出那些数据是重复的:select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1        将上面的>号改为=号就可以查询出没有重复的数据了.        想要删除这些重复的数据,可以使用下面语句进行删除delete f

集合框架(去除ArrayList集合中的重复自定义对象元素案例)

学生类 package cn.itcast_04; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public v

TreeSet去掉重复对象

java对象除了采用equals和hashCode判断对象是否相等外,开发人员也可以通过其他属性判断两个对象是否相等 以下案例采用TreeSet去掉重复对象 Teacher: public class Teacher{ private String name; private Integer age; public Teacher(String name, Integer age) { super(); this.name = name; this.age = age; } public Str

JS中 对象数组按某一属性去重 校验是否有重复数据

新任务: 下拉框出去重复数据 //前端对象数组 按某个属性去重 其中jsonArray 是你要去重的对象数组 示例中  按name属性去重 //前端对象数组 按某个属性去重 var obj = {}; jsonArray = jsonArray.reduce(function(item,next){ obj[next.name]?'':obj[next.name] = true&&item.push(next); return item; },[]); for(var i= 0;i<

Dom4j解析语音数据XML文档(注意ArrayList多次添加对象,会导致覆盖之前的对象)

今天做的一个用dom4j解析声音文本的xml文档时,我用ArrayList来存储每一个Item的信息,要注意ArrayList多次添加对象,会导致覆盖之前的对象:解决方案是在最后将对象添加入ArrayLis时先new 一个对象,然后将之前那个对象的属性set到新的对象中,之后在加入到 ArrayList,就不会出错了. package parseXML; import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.E