`

删除list中重复的对象

阅读更多
package test.com;

import java.text.SimpleDateFormat;
import java.util.*;

public class Test {
	public static void main(String[] args) {
		List<Account> list = new ArrayList<Account>();
		Calendar c = Calendar.getInstance();
		c.add(Calendar.SECOND, 1);
		Date date = c.getTime();
		Account account1 = new Account(1, Test.getFormat(date));
		c.add(Calendar.HOUR, 1);
		date = c.getTime();
		list.add(account1);
		list.add(account1);
		Account account2 = new Account(2, Test.getFormat(date));
		c.add(Calendar.HOUR, 1);
		date = c.getTime();
		list.add(account2);
		list.add(account2);
		Account account3 = new Account(3, Test.getFormat(date));
		c.add(Calendar.HOUR, 1);
		date = c.getTime();
		list.add(account3);
		list.add(account3);
		Account account4 = new Account(4, Test.getFormat(date));
		c.add(Calendar.HOUR, 1);
		date = c.getTime();
		list.add(account4);
		list.add(account4);
		Iterator it = list.iterator();
		if (list != null && list.size() != 0) {
			HashMap map = new HashMap();
			while (it.hasNext()) {
				Account account = (Account) it.next();
				Account accountmap = (Account) map
						.get(account.getAccounttype());
				if (accountmap == null) {
					map.put(account.getAccounttype(), account);
				} else {
					it.remove();
				}
			}
		}
		it = list.iterator();
		while (it.hasNext()) {
			System.out.println(it.next());
		}
	}

	public static String getFormat(Date date) {
		SimpleDateFormat dataFormat = new SimpleDateFormat("yyyyMMddHHmmss");
		return dataFormat.format(date);
	}
}

class Account {
	private int accounttype;

	private String applyTime;

	public Account(int accounttype, String applyTime) {
		this.accounttype = accounttype;
		this.applyTime = applyTime;
	}

	public int getAccounttype() {
		return accounttype;
	}

	public void setAccounttype(int accounttype) {
		this.accounttype = accounttype;
	}

	public String getApplyTime() {
		return applyTime;
	}

	public void setApplyTime(String applyTime) {
		this.applyTime = applyTime;
	}

	public String toString() {
		return this.getApplyTime() + this.getAccounttype();
	}
}
分享到:
评论
1 楼 yadsun 2010-01-15  
我喜欢用Set来过滤重复的对象,不知道效率会不会很低

相关推荐

    list去掉重复对象

    一个list里面有多个对象,对象有几个字段,要求在对象里面不要有重复的数据的实现。

    去掉list中的重复对象

    "去掉list中的重复对象"这个话题是一个常见的需求,特别是在处理业务数据时,确保数据的唯一性至关重要。这篇博客文章《去掉list中的重复对象》可能是探讨了如何在Java中有效地实现这一功能。 在Java中,List接口...

    两个list比较 取不同的对象

    ### 两个List比较取不同的对象 在Java编程中,经常需要对两个`List`进行比较,找出它们之间的差异。这通常涉及到数据结构的理解、算法设计以及编程实现等多个方面。本文将详细探讨如何通过一个示例代码来理解如何...

    Android List删除重复数据

    在本文中,我们将介绍四种不同的方法来删除 Android List 中的重复数据。 方法一:通过循环进行删除 该方法使用双重循环来删除重复数据。外层循环遍历列表,内层循环从后向前遍历列表,比较每个元素是否相等,如果...

    C#查找列表中所有重复出现元素的方法

    方法内部创建了一个新的`List&lt;T&gt;`对象`duplicates`来存储找到的重复元素。然后,通过一个for循环遍历列表,使用索引`i`访问当前元素。如果当前元素`this[i]`等于`inputValue`,就将其添加到`duplicates`列表中。最后...

    List列表拒绝添加重复信息VB6.0源代码.rar

    - VB6.0中的Dictionary对象提供了一个键值对存储的容器,可以高效地进行查找和删除操作。 - 在本场景下,可以先将List控件中的所有元素作为键放入Dictionary,然后在添加新元素时,通过尝试将新元素作为键添加到...

    两个集合比较(新增、编辑、删除)

    本文将深入探讨如何比较两个集合,并关注在Java中使用List进行对比时的“新增”、“编辑”和“删除”操作。首先,我们需要理解集合的基本概念。集合是存储一组元素的数据结构,而List是一种有序的集合,允许重复元素...

    Python list列表中删除多个重复元素操作示例

    ### Python List列表中删除多个重复元素操作详解 在Python编程中,经常需要处理各种数据结构,其中`list`是最常用的数据类型之一。由于实际应用场景的需求多样,如何高效地操作列表中的元素成为了一项重要的技能。...

    C++中list用法

    - `clear()`:删除list中的所有元素。 - `empty()`:判断list是否为空。 - `get_allocator()`:返回list使用的分配器。 2. **元素访问** - `back()`:返回list的最后一个元素。 - `front()`:返回list的第一个...

    Flutter List数组避免插入重复数据的实现

    本文将深入探讨如何在Flutter中避免在List数组中插入重复的数据,同时也会简要介绍List的基本操作。 首先,让我们理解Flutter中的List。List是一种有序的、可变的、可索引的数据结构,可以存储任意类型的对象。在...

    List对象去重和按照某个字段排序的实现方法

    在上面的代码中,我们首先创建了一个List对象,添加了五个People对象,然后使用HashSet删除了重复元素。结果显示,重复元素被删除成功。 接下来,让我们来看一下List对象的按照某个字段排序。List对象的排序可以...

    java中List对象集合的遍历方法(三个)

    在Java编程中,List接口是集合框架的重要组成部分,它提供了有序的、允许重复元素的存储。遍历List对象集合是日常开发中常见的操作,这里我们将详细介绍三种遍历List的方法,并探讨它们的性能特点和适用场景。 ### ...

    删除其重复

    根据给定的文件信息,我们可以总结出以下与“删除字符串数组中的重复”相关的知识点: ## 一、基础知识 ### 1. Java集合框架基础 Java集合框架是Java平台的一个重要组成部分,它为开发者提供了多种数据结构,如...

    易语言仿java集合 list map源码

    本主题聚焦于易语言中的面向对象编程,特别是模仿Java集合框架的List和Map接口的实现。这些数据结构在编程中扮演着核心角色,用于组织和管理数据。 首先,让我们深入了解易语言的面向对象编程概念。面向对象编程...

    Java中对List去重 Stream去重的解决方法

    List去重是Java中的一种常见操作,对于List中的重复元素进行去重,从而使得List中的元素变得独一无二。 Java中提供了多种方法来实现List去重,下面我们将对其中的一些方法进行介绍。 使用HashSet去重 HashSet是一...

    浅谈Java中的Set、List、Map的区别.docx

    List 的特征是其元素以线性方式存储,集合中可以存放重复对象。List 接口主要实现类包括:ArrayList 和 LinkedList。 ArrayList 代表长度可以改变得数组。可以对元素进行随机的访问,向 ArrayList 中插入与删除元素...

    【IT十八掌徐培成】Java基础第10天-04.List-迭代器-对象等价性.zip

    上述代码展示了如何使用迭代器遍历并可能删除List中的元素。 6. **注意事项**:在使用迭代器时,要特别注意不要同时使用迭代器和直接调用List的`add()`或`remove()`方法,因为这可能导致并发修改异常。如果需要在...

    Java List集合的应用.rar

    Java List集合是Java编程语言中一个非常重要的数据结构,它属于集合框架的一部分,主要用于存储一组有序的、可重复的对象。List接口提供了许多方法,使得在处理列表数据时具有很高的灵活性和效率。在这个“Java List...

    JAVA中List的增删改查

    在Java编程语言中,List接口是集合框架的重要组成部分,它代表了一个有序的元素序列,允许重复元素,并且保持插入顺序。对于初学者来说,理解如何在List中进行增删改查操作是掌握Java集合框架的基础。本文将详细介绍...

Global site tag (gtag.js) - Google Analytics