求助,list去重问题

socool23 2014-04-12 04:15:39
我写了一个sql查询,得到了一个list,list里面放的全部是map对象,map对象里面有很多键值对,其中有三个key分别为userseq,seq,name,map对象是以userseq为主要标识,list里面存在很多userseq相同,但是seq和name值不同的,我想把seq和name放到一个新的属性值rolelist中,同一个userseq对应一个rolelist,rolelist里面值可以有很多seq和name,请问下有什么好的建议,希望性能高点,不要用arraylist两层遍历?
...全文
255 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
socool23 2014-04-16
  • 打赏
  • 举报
回复
引用 8 楼 zuoziji_lj 的回复:
[quote=引用 6 楼 socool23 的回复:] [quote=引用 4 楼 zuoziji_lj 的回复:] 能否不要用list,直接放入map,userseq做key
怎么用map这样做?做完了 能转成list 吗?[/quote] 数据读出来就放进map,以userseq为key,如果seq和name是一一对应的关系,value放一个list就行了[/quote] 我有点明白了。。看来这方面的基础还是要深入研究下。。谢谢。。
yyfhz 2014-04-15
  • 打赏
  • 举报
回复
生成SQL的时候就加上按照userSweq排序,这样只要一层遍历就可以了。
yueyuexiong 2014-04-15
  • 打赏
  • 举报
回复
http://blog.csdn.net/treeroot/article/details/119778 需求类似
卡卡吉利 2014-04-15
  • 打赏
  • 举报
回复
引用 6 楼 socool23 的回复:
[quote=引用 4 楼 zuoziji_lj 的回复:] 能否不要用list,直接放入map,userseq做key
怎么用map这样做?做完了 能转成list 吗?[/quote] 数据读出来就放进map,以userseq为key,如果seq和name是一一对应的关系,value放一个list就行了
clarck_913 2014-04-15
  • 打赏
  • 举报
回复
SQL有GROUP BY, 有DISTINCT 这些不够用么?还要拿到内存里来做这事?
tony4geek 2014-04-14
  • 打赏
  • 举报
回复
开始的时候map存数据。
socool23 2014-04-14
  • 打赏
  • 举报
回复
引用 4 楼 zuoziji_lj 的回复:
能否不要用list,直接放入map,userseq做key
怎么用map这样做?做完了 能转成list 吗?
菜鸟求学者 2014-04-12
  • 打赏
  • 举报
回复
亲,你这是把简单的数据结构弄的复杂了,到时往出拿又得遍历。。。。你知道树的加载吗?按你这种处理,树的层级多了,像你这种处理法就没办法处理了。但你要执意这样,我比较赞同4楼的做法。
卡卡吉利 2014-04-12
  • 打赏
  • 举报
回复
能否不要用list,直接放入map,userseq做key
socool23 2014-04-12
  • 打赏
  • 举报
回复
2次遍历太恶心了。。而且我现在还没一步就做到这样的效果。
S117 2014-04-12
  • 打赏
  • 举报
回复
自己遍历去吧
socool23 2014-04-12
  • 打赏
  • 举报
回复
自己顶一下。 list里面可能有 [{userseq=1,seq=1,name='aaa'},{userseq=1,seq=2,name='bbb'}],怎样把这一条结果合并成[{userseq=1,rolelist=[{seq=1,name='aaa'},{seq=2,name='bbb'}]}].

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧