- 浏览: 199822 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (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 806使用软引用构建敏感数 ... -
JSP自定义标签
2017-11-14 20:35 308JSP页面中分页功能实现使用了 <urlChange ... -
手机号码替换中间四位
2017-10-24 21:41 891需求描述: 为用户隐私考虑,展示用户信息时需要将中间用*代替 ... -
遍历集合删除元素
2017-10-24 18:44 611一、根据下标删除元素 1.测试代码 ArrayLis ... -
统计每天的数据
2017-10-10 21:23 498需求:按天统计数据 分析:create_time 为 dat ... -
基于AbstractDataSource实现主从数据库切换
2017-10-07 18:03 981基于AbstractDataSource实现主从数据库切换 ... -
服务器文件下载
2016-03-27 09:53 344项目需求:在列表页面上提供文件下载链接 项目实现: 1.准 ... -
扫码登录功能实现
2015-08-21 08:19 486需求:PC端(电脑端) ... -
基于SHIRO实现用户登陆后跳转其匿名访问的URL路径
2015-07-15 15:03 3579需求描述: 用户在未登录时访问网站中某个需要登录后才能访问 ... -
基于SHIRO的管理后台权限认证系统实现(一)
2015-07-09 10:05 6943基于SHIRO的管理后台权限认证系统实现(一) 一、项目需求 ... -
基于SHIRO的管理后台权限认证系统实现(二)
2015-06-28 10:14 780用户登陆系统后左侧菜单加载 项目:管理员系统 功能:用户登 ... -
Velocity中set的使用
2015-05-26 10:46 494问题:从页面接收某字段的提交数据,数据要求是组合后的编号 ... -
Velocity页面中输出时间年月
2015-05-19 20:52 941问题:注册页面要求有创建时间的选项添加,年为至今为止 实现: ... -
Set判重操作实现
2015-05-15 15:28 759需求:Set<Po>判重操作实现 问题:Set& ... -
Date相关功能实现
2015-05-12 19:47 586一、同一天 需求:用户记录跟踪列表展示,要求用户数据同一天内 ... -
velocity截取过长的字段值
2015-05-11 20:06 334问题:页面列表展示时,某个字段的值超长,影响页面的整体样式 ... -
将list中某个元素放在首位
2015-05-10 17:25 4500需求:程序开发过程中,业务方要求在展示国家列表时要将US放在首 ... -
Velocity遍历map与遍历list
2015-04-22 20:16 6894问题: 向页面传递key与value的组合 1. 1.1 ...
相关推荐
一个list里面有多个对象,对象有几个字段,要求在对象里面不要有重复的数据的实现。
下面小编就为大家带来一篇list集合去除重复对象的实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
今天小编就为大家分享一篇关于两个List集合取相同重复数据的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
主要介绍了Android List删除重复数据的实例代码,非常不错,具有参考借鉴价值,需要的朋友参考下吧
在日常的业务开发中,可能会遇到需要将 List 集合中的重复数据去除掉的场景。在实际的业务开发中遇到的情况会更复杂。比如,List 集合可能是历史遗留问题,也有可能是调用接口返回的类型限制,只能使用 List 接收;...
java实现后台用list接收前台重复的name属性的值 接收重复属性 后台数组接收前台重复的name
主要介绍了C#查找列表中所有重复出现元素的方法,涉及C#针对列表操作的技巧,非常具有实用价值,需要的朋友可以参考下
主要介绍了Java中对List去重, Stream去重的问题解答,文中给大家介绍了Java中List集合去除重复数据的方法,需要的朋友可以参考下
本文实例讲述了Python list列表中删除多个重复元素操作。分享给大家供大家参考,具体如下: 我们以下面这个list为例,删除其中所有值为6的元素: l=[9,6,5,6,6,7,8,9,6,0] 首先尝试remove方法: l.remove(6) ...
主要介绍了java 查找list中重复数据实例详解的相关资料,需要的朋友可以参考下
java计算同一个list中是否有相同的值
比较list得到不同的对象 慎重注意list的大小变化和索引 精简算法
主要介绍了Java中List集合对象去重及按属性去重的8种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一地的参考借鉴价值,需要的朋友可以参考下
今天小编就为大家分享一篇关于List集合多个复杂字段判断去重的案例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
· List 接口继承 Collection,允许重复,以元素安插的次序来放置元素,不会重新排列。 · Map接口是一组成对的键-值对象,即所持有的是key-value pairs。Map中不能有重复的key。拥有自己的内部排列机制。 · ...
具有一定长度存在索引的对象集合(长度为0不存在索引,长度>0存在索引) 常见列表 1、定长列表 默认值null 例如:List<int> fixedLengthList = new List(2)、List<int> fixedLengthList = new List(8) List<int> ...
Java集合框架概述 Java集合框架是一个抽象数据类型的框架,它提供了一组接口和类,可用于处理各种...2、List接口 List接口是有序集合,可以存储重复元素。它定义了有序的列表,可以根据索引位置访问列表中的元素。List
ps:要想往集合中存放基本数据类型,必须转换为对应的包装类 Collection -- 集合接口 List -- List接口(添加了许多针对下标操作的方法) 特点:有序的,且可重复 ArrayList: 数据结构:一维数组 ...
HashSet(IEnumerable<T> collection,IEqualityComparer<T> comparer) 使用指定的比较器实例化数据,且将指定集合中的元素复制到集合中。 因为HashSet是专门设计来做集合运算的,因此它提供的方法中有不少是和集合...
集合的家族(1)List集合—(有序,可重复)(2)Set集合—(无序,唯一) 一. 为什么要有集合? 集合是为了弥补数组的不足而存在。 集合相对于数组优势在于:a.集合的长度可以动态改变;b.集合中能够存放多种类型的数据。 ...