- 浏览: 211285 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (267)
- java.lang (8)
- 问题汇总 (21)
- 异常记录 (20)
- 功能实现 (19)
- 面试总结 (25)
- 技巧总结 (8)
- 常用代码 (4)
- 编程习惯 (3)
- 编码规则 (3)
- java.util (10)
- java.io (1)
- JavaWeb (9)
- MySQL (16)
- SVN (3)
- MyBatis (11)
- Velocity (7)
- 其他知识 (10)
- 人生哲理 (1)
- 人生故事 (1)
- 自我感悟 (1)
- shiro (3)
- 基础知识 (0)
- 问题总结 (1)
- Spring 标签 (1)
- Spring (3)
- 点滴生活 (1)
- DOS (1)
- CAS (4)
- Linux (9)
- Storm (6)
- Shell (1)
- regex (1)
- Collection (4)
- poi (1)
- 经典语句 (1)
- NIO (5)
- concurrent (14)
- RPC (1)
- zookeeper (3)
- 待整理 (2)
- Hadoop (9)
- RabbitMq (2)
- flume (1)
- hive (7)
- hbase (4)
- kafka (1)
- scala (1)
- GC (0)
- java.util.concurrent.atomic (1)
- java.lang.ref (6)
- JVM (2)
- algorithm (1)
- conception (1)
- java key word (1)
- sun.misc (1)
最新评论
需求:用户权限查看,页面显示权限树时缺少了一个分支
原因:二级权限带有一个三级权限,但具有了相同的二级权限,所以未能正常显示
解决:去除List中重复的权限数据
方式:
参考资料:http://bbs.csdn.net/topics/390247210
1.List<Long>
2.List<Po>
Po类中具有编号或名称属性
总结:
示例:
原因:二级权限带有一个三级权限,但具有了相同的二级权限,所以未能正常显示
解决:去除List中重复的权限数据
方式:
参考资料:http://bbs.csdn.net/topics/390247210
1.List<Long>
public static void removeDuplicate(List list) { HashSet h = new HashSet(list); list.clear(); list.addAll(h); System.out.println(list); }
2.List<Po>
Po类中具有编号或名称属性
public static void removeDuplicateWithOrder(List list) { Set<Long> set = new HashSet<Long>(); List<Po> newList = new ArrayList<Po>(); for (Iterator iter = list.iterator(); iter.hasNext();) { Po element = iter.next(); if (set.add(element.getId())) newList.add(element); } list.clear(); list.addAll(newList); }
总结:
- 去除List中的重复数据,通过set集合的key为非重复值的原理
示例:
import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; /** * List 集合去重 */ public class RemoveRepeatTestMain { /** * @param args */ public static void main(String[] args) { List<String> list = new ArrayList<String>(8); list.add("a"); list.add("b"); list.add("a"); list.add("c"); list.add("a"); list.add("d"); list.add("d"); list.add("a"); method1(list); method2(list); method3(list); method4(list); } /** * 方式1 * 两个集合,将原有元素放入新的集合中,并判断新的集合是否已包含加入的元素 * @param list */ public static void method1(List<String> list){ List<String> newList = new ArrayList<String>(list.size()); for(String str : list){ if(null != newList && newList.size() > 0 && !newList.contains(str)){ newList.add(str); }else if ( null == newList || newList.size() == 0 ){ newList.add(str); } } printList(newList); } /** * 利用 set.add 方法,若set中不含此元素,添加成功,返回TRUE,否则FALSE * @param list */ public static void method2(List<String> list){ List<String> newList = new ArrayList<String>(list.size()); Set<String> setTemp = new HashSet<String>(list.size()); for(String str : list){ if(setTemp.add(str)){ newList.add(str); } } printList(newList); } public static void method3(List<String> list){ List<String> newList = new ArrayList<String>(new HashSet<String>(list)); printList(newList); } public static void method4(List<String> list){ List<String> newList = new ArrayList<String>(list.size()); Set<String> set = new HashSet<String>(list.size()); set.addAll(list); newList.addAll(set); printList(newList); } public static void printList(List<String> list){ for(String str : list){ System.out.print(str); } } }
发表评论
-
使用软引用构建敏感数据的缓存
2017-11-16 22:19 845使用软引用构建敏感数 ... -
JSP自定义标签
2017-11-14 20:35 348JSP页面中分页功能实现使用了 <urlChange ... -
手机号码替换中间四位
2017-10-24 21:41 929需求描述: 为用户隐私考虑,展示用户信息时需要将中间用*代替 ... -
遍历集合删除元素
2017-10-24 18:44 662一、根据下标删除元素 1.测试代码 ArrayLis ... -
统计每天的数据
2017-10-10 21:23 551需求:按天统计数据 分析:create_time 为 dat ... -
基于AbstractDataSource实现主从数据库切换
2017-10-07 18:03 1054基于AbstractDataSource实现主从数据库切换 ... -
服务器文件下载
2016-03-27 09:53 384项目需求:在列表页面上提供文件下载链接 项目实现: 1.准 ... -
扫码登录功能实现
2015-08-21 08:19 522需求:PC端(电脑端) ... -
基于SHIRO实现用户登陆后跳转其匿名访问的URL路径
2015-07-15 15:03 3652需求描述: 用户在未登录时访问网站中某个需要登录后才能访问 ... -
基于SHIRO的管理后台权限认证系统实现(一)
2015-07-09 10:05 7012基于SHIRO的管理后台权限认证系统实现(一) 一、项目需求 ... -
基于SHIRO的管理后台权限认证系统实现(二)
2015-06-28 10:14 822用户登陆系统后左侧菜单加载 项目:管理员系统 功能:用户登 ... -
Velocity中set的使用
2015-05-26 10:46 537问题:从页面接收某字段的提交数据,数据要求是组合后的编号 ... -
Velocity页面中输出时间年月
2015-05-19 20:52 1010问题:注册页面要求有创建时间的选项添加,年为至今为止 实现: ... -
Set判重操作实现
2015-05-15 15:28 805需求:Set<Po>判重操作实现 问题:Set& ... -
Date相关功能实现
2015-05-12 19:47 633一、同一天 需求:用户记录跟踪列表展示,要求用户数据同一天内 ... -
velocity截取过长的字段值
2015-05-11 20:06 382问题:页面列表展示时,某个字段的值超长,影响页面的整体样式 ... -
将list中某个元素放在首位
2015-05-10 17:25 4584需求:程序开发过程中,业务方要求在展示国家列表时要将US放在首 ... -
Velocity遍历map与遍历list
2015-04-22 20:16 6949问题: 向页面传递key与value的组合 1. 1.1 ...
相关推荐
例如,我们可以创建一个泛型方法,接受一个包含待去重数据的集合作为输入,利用枚举遍历这个集合,并将每个元素添加到一个HashSet中,HashSet在插入时会自动检查并排除重复项。由于HashSet的查找和插入操作具有O(1)...
在Java编程中,集合操作是非常常见的,而在实际开发中,我们经常遇到需要从两个List集合中提取相同的重复数据的情况。这篇文章将为大家分享一个关于两个List集合取相同重复数据的方法。 首先,我们需要了解什么是...
一个list里面有多个对象,对象有几个字段,要求在对象里面不要有重复的数据的实现。
在本文中,我们将介绍四种不同的方法来删除 Android List 中的重复数据。 方法一:通过循环进行删除 该方法使用双重循环来删除重复数据。外层循环遍历列表,内层循环从后向前遍历列表,比较每个元素是否相等,如果...
本文将深入探讨如何利用Set集合去除List集合中的重复元素以及字符串中的重复子串。 首先,让我们理解Set集合的基本特点: 1. **一次只存一个元素**:Set集合不支持重复元素,当尝试添加一个已存在的元素时,该操作...
这里我们将详细讨论如何在`List`集合中去除重复对象的实现,特别是针对对象类型的集合。 首先,我们要明确一点:在Java中,当我们说两个对象是重复的,通常是指它们的属性值相等,而不是指它们在内存中的引用地址...
在编程领域,尤其是在Java开发中,我们经常遇到需要处理数据集合,例如列表(List),去除其中的重复元素。"去掉list中的重复对象"这个话题是一个常见的需求,特别是在处理业务数据时,确保数据的唯一性至关重要。这...
Set接口下的集合类如HashSet不存储重复元素,可以方便地去除列表中的重复项。将List转换为Set,然后再转换回List即可: ```java List<PenBean> uniquePenBeanList = new ArrayList(new HashSet(penBeanList)); ``` ...
在C#编程中,处理列表数据结构是常见的任务之一,特别是在需要查找并处理重复元素的场景下。本篇文章将深入探讨如何在C#中查找列表中的所有重复元素,并提供一个具体的实现示例。 首先,我们需要了解C#中的列表类型...
在实际开发中,我们经常需要从集合中去除重复元素,以保证数据的唯一性和正确性。今天,我们来分享一个Java集合去重示例,帮助大家更好地理解和应用这个概念。 Java集合去重示例的需求背景 -----------------------...
本主题聚焦于易语言中的面向对象编程,特别是模仿Java集合框架的List和Map接口的实现。这些数据结构在编程中扮演着核心角色,用于组织和管理数据。 首先,让我们深入了解易语言的面向对象编程概念。面向对象编程...
在.NET框架中,C#语言提供了丰富的数据结构和容器,其中最常用且强大的就是List、Dictionary和HashSet等泛型集合。这些集合类是基于泛型的,能够提供类型安全的数据存储,大大增强了代码的可读性和效率。接下来,...
在 Java 编程中,判断一个 `List` 中是否存在重复元素是一项常见的需求。特别是在数据处理、验证或分析等场景中,确保数据的唯一性对于维持数据完整性至关重要。 #### 核心概念解析 在给定的代码片段中,作者提供...
在编程领域,特别是使用Python语言时,我们经常需要处理数据集合,其中List是最常见的数据结构之一。List允许存储任意类型的对象,并且可以按照索引进行访问。然而,在某些情况下,我们可能希望创建一个不允许添加...
2. 使用LINQ去重:在.NET框架中,可以使用LINQ的Distinct()方法来轻松去除重复数据。例如,对于一个字符串列表`List<string>`,可以使用`list.Distinct().ToList()`来获取无重复的列表。 3. 自定义比较器:如果数据...
List集合多个复杂字段判断去重的案例 在 Java 编程中,List 集合是我们常用的数据结构之一。当我们需要对 List 集合进行去重操作时,通常的做法是将其转换为 Set 集合,因为 Set 集合不允许重复元素。但是,事情并...
2. **判断元素存在性**:检查某个元素是否存在于一组数据中,提高查询效率。 3. **集合分析**:在数据分析中,通过集合操作可以快速找到共同项、差异项等。 4. **算法优化**:在图论和搜索算法中,集合用于记录已...
在Java中,集合框架是由`java.util`包中的类和接口组成的,提供了多种类型的集合,包括列表(List)、队列(Queue)、集(Set)等。今天我们将深入探讨“集合”的概念及其应用,以及HashSet如何保证数据不重复的原理...
在IT领域,集合比较是一...通过理解并熟练运用这些方法,我们可以有效地比较和操作两个List集合,无论是查找新增、编辑还是删除的元素。在实际项目中,这种能力对于数据同步、日志分析、版本控制等多个场景都至关重要。
Java List集合是Java编程语言中一个非常重要的数据结构,它属于集合框架的一部分,主要用于存储一组有序的、可重复的对象。List接口提供了许多方法,使得在处理列表数据时具有很高的灵活性和效率。在这个“Java List...