`
wjcom1127
  • 浏览: 41373 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

去除List中重复数据

J# 
阅读更多
/**
 * 去除List中重复数据
 * @author wjcom
 * @Date 2010-12-22
 * @version [版本号]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class test
{

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		Long[] initData = {1l, 10l,15l,1l,15l};
		
		//方法一
		List<Object> list1 = deleteRepeatIds1(initData);
		

		for (int i = 0; i < list1.size(); i++)
		{
			System.out.println(list1.get(i));
		}
		
		System.out.println("==================");
		
		//方法二
		List list2 = deleteRepeatIds2(initData);
		for (int j=0;j<list2.size();j++)
		{
			System.out.println(list2.get(j));
		}
		
		System.out.println("==================");
		
		//方法三:最简洁的方法
		List list3 = deleteRepeatIds3(initData);
		for (int k=0;k<list3.size();k++)
		{
			System.out.println(list3.get(k));
		}
	}
	
	/**
	 * 方法一
	 * @param ids
	 * @return
	 */
	private static List<Object> deleteRepeatIds1(Long[] ids)
	{
		List<Long> list = new ArrayList<Long>();
		
		for (int j = 0; j < ids.length; j++)
		{
			list.add(ids[j]);
		}

		Set<Object> set = new HashSet<Object>();
		List<Object> newList = new ArrayList<Object>();
		for (Iterator iter = list.iterator(); iter.hasNext();)
		{
			Object element = iter.next();
			if (set.add(element))
				newList.add(element);
		}
		list.clear();

		return newList;
	}
	
	/**
	 * 方法二
	 * @param ids
	 * @return
	 */
	private static List deleteRepeatIds2(Long[] ids)
	{
		List<Long> list = new ArrayList<Long>();
		 
		for (int j = 0; j < ids.length; j++)
		{
			boolean bl1 = true;
			boolean bl2 = false;
			
			if (list.size()>0)
			{
				for (int i = 0;i<list.size();i++)
				{
					if (list.get(i).equals(ids[j]))
					{
						bl2 = true;
					}
				}
				bl1 = false;
			}
			
			if (bl1 || (!bl1 && !bl2))
			{
				list.add(ids[j]);
			}
		}

		return list;
	}
	
	/**
	 * 方法三
	 * 最简洁的方法
	 * @param ids
	 * @return
	 */
	private static List deleteRepeatIds3(Long[] ids)
	{
		List<Long> list = new ArrayList<Long>();
		
		for (int j = 0; j < ids.length; j++)
		{
			if (!list.contains(ids[j]))
			{
				list.add(ids[j]);	
			}
		}
		return list;
	}

	
}
分享到:
评论

相关推荐

    C#高性能枚举去除泛型中的重复数据

    例如,我们可以创建一个泛型方法,接受一个包含待去重数据的集合作为输入,利用枚举遍历这个集合,并将每个元素添加到一个HashSet中,HashSet在插入时会自动检查并排除重复项。由于HashSet的查找和插入操作具有O(1)...

    list去掉重复对象

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

    去掉list中的重复对象

    在编程领域,尤其是在Java开发中,我们经常遇到需要处理数据集合,例如列表(List),去除其中的重复元素。"去掉list中的重复对象"这个话题是一个常见的需求,特别是在处理业务数据时,确保数据的唯一性至关重要。这...

    Android List删除重复数据

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

    List列表拒绝添加重复信息

    将List转换为Set,可以自动去除重复项。例如: ```python my_list = [1, 2, 3, 2, 4, 3] my_set = set(my_list) ``` 在这个例子中,`my_set`将只包含`{1, 2, 3, 4}`,因为重复的2和3已被移除。 如果我们仍然需要...

    完整版组合框、列表框去重复数据妙法.rar

    2. 使用LINQ去重:在.NET框架中,可以使用LINQ的Distinct()方法来轻松去除重复数据。例如,对于一个字符串列表`List&lt;string&gt;`,可以使用`list.Distinct().ToList()`来获取无重复的列表。 3. 自定义比较器:如果数据...

    检查GridControl列表视图某列是否有重复数据

    本篇文章将深入探讨如何检查GridControl列表视图中的某一列是否存在重复数据,这对于数据的准确性和一致性至关重要。 首先,我们需要理解GridControl的基本概念。GridControl是一种用户界面元素,常见于Windows ...

    .net 过滤重复数据

    在.NET编程中,过滤重复数据是一项常见的需求,尤其是在处理大量数据时。本文介绍的方法通过使用`List`集合和递归技术来实现对数字序列中重复项的过滤。该方法不仅简单易懂,而且能够有效地保证数据的唯一性。 ####...

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

    在处理数据时,我们有时需要去除集合中的重复元素。这里我们将详细讨论如何在`List`集合中去除重复对象的实现,特别是针对对象类型的集合。 首先,我们要明确一点:在Java中,当我们说两个对象是重复的,通常是指...

    java 去除重复元素

    在Java编程中,处理数据集合时,我们常常会遇到去除重复元素的需求。这可能是为了保持数据的唯一性,或者为了优化存储和计算效率。本文将详细介绍如何在Java中去除重复元素,主要关注数组和列表这两种常见数据结构。...

    java中List对象列表实现去重或取出及排序的方法

    Java中List对象列表实现去重或取出及排序的方法 在Java中,对List对象列表实现去重或取出及排序是一种常见的操作。下面将详细介绍相关的方法和实现。 1. 实体类重写equals和hashCode方法 在Java中,想要去重List...

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

    本文实例讲述了Python list列表中删除多个重复元素操作。分享给大家供大家参考,具体如下: 我们以下面这个list为例,删除其中所有值为6的元素: l=[9,6,5,6,6,7,8,9,6,0] 首先尝试remove方法: l.remove(6) ...

    文本去重(去除数组中重复项)

    这个过程主要是从一个数据集合中移除重复的元素,确保每个元素只出现一次。在这个场景下,我们将关注如何在Java中实现这个功能,特别是针对字符串数组。 方法一: 此方法使用了Java的`Set`接口,具体是`TreeSet`类...

    完整版组合框、列表框去重复数据妙法.bak.rar

    当这些控件中的数据源包含重复项时,可能会影响用户体验,因此需要采取有效的方法来去除重复数据。以下将详细讲解如何实现组合框和列表框的去重复数据操作。 1. **数据结构与控件理解**: - **组合框(ComboBox)**...

    两个list比较 取不同的对象

    2. **比较与去除重复项**: - 使用双重循环来逐个比较两个列表中的元素。 - 如果发现两个列表中有相同的`Student`对象,则从第一个列表中移除该对象。 - 移除后需要更新循环变量,以避免遗漏元素。 3. **使用`...

    java去除集合中重复元素示例分享 java去除重复

    在实际开发中,我们经常需要从集合中去除重复元素,以保证数据的唯一性和正确性。今天,我们来分享一个Java集合去重示例,帮助大家更好地理解和应用这个概念。 Java集合去重示例的需求背景 -----------------------...

    C# Txt文本去重复和交叉数据

    在IT行业中,尤其是在数据处理领域,去除重复数据是一项常见的任务,尤其当数据量庞大时更为重要。本主题聚焦于使用C#语言处理TXT文本文件中的重复数据问题,这对于优化存储空间,提高数据处理效率,以及确保数据...

    SharePoint的列表中某列去除重复值的一种方法

    在SharePoint环境中,有时我们需要处理列表中的数据,确保某些列的值不重复。本文将介绍一种去除SharePoint列表中特定列重复值的方法,主要涉及`SPList`对象的`GetDistinctFieldValues`方法。 首先,我们需要获取到...

    利用Set集合去除List集合中重复元素、字符串中的重复子串

    本文将深入探讨如何利用Set集合去除List集合中的重复元素以及字符串中的重复子串。 首先,让我们理解Set集合的基本特点: 1. **一次只存一个元素**:Set集合不支持重复元素,当尝试添加一个已存在的元素时,该操作...

    易语言超级列表框去除标题重复项.7z

    在这个“易语言超级列表框去除标题重复项.7z”压缩包中,我们主要讨论的是如何在易语言中处理超级列表框(Super List Box)中的数据,特别是如何去重标题项。 超级列表框是易语言提供的一种常用控件,用于显示多列...

Global site tag (gtag.js) - Google Analytics