java 迭代器去重_java基础--迭代器

工作过程中,遇到了一个相对复杂的数据处理。一个list里套着list,还要去重显示。于是想到了java的迭代器--Iterator。

迭代器基础用法

1.使用方法 iterator()要求容器返回一个 Iterator。第一次调用Iterator 的next()方法时,它返回序列的第一个元素。

2.使用next()获得序列中的下一个元素。

3.使用hasNext()检查序列中是否还有元素。

4.使用remove()将上一次返回的元素从迭代器中移除。

代码解析

listGroup = groupService.findAllGroup(userID); //从后端传回数据 Set set = new HashSet(); //实例化一个hashset,set中不放重复的数据 for ( Group group:listGroup){ //遍历set,获取不重复的名字 set.add(group.getName()); } Iterator it = set.iterator(); //单个遍历 List resultList = new ArrayList(); while (it.hasNext()){ //如果有下一个的话 String name = it.next().toString(); String str = null; for (Group group:listGroup){ if(group.getName().equals(name)){ if(str==null){ str=group.getServiceName(); }else { str=str+","+group.getServiceName(); //拼接字符串 } } } List list = new ArrayList(); for(Group group:listGroup){ if(group.getName().equals(name)){ //判断名称是否相符 group.setServiceName(str); list.add(group); } } resultList.add(list.get(0)); } modelMap.addAttribute("listGroup",resultList); //设置modelMap的一个属性叫listGroup

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值