初始化集合,处理数据

黑夜中的一点慰藉 2014-07-22 03:57:43
我遇到这么一个问题。
现在有个一个集合:list1,里面有数据
[id=1,a=1,b=2,c=3]
[id=2,a=1,b=2,c=3]
[id=3,a=2,b=2,c=3]
[id=4,a=2,b=2,c=3]
[id=5,a=2,b=2,c=3]
[id=6,a=3,b=2,c=3]
[id=7,a=3,b=2,c=3]
[id=8,a=3,b=2,c=3]
[id=9,a=3,b=2,c=3]
[id=10,a=4,b=2,c=3]
现在要根据list1中a的值来把集合重新划分一下,就是把a=1的数据放到集合lista1,a=2的数据放到lista2中。。。。
a的值得种类也可以知道比如lista.[a=1;a=2;a=3;a=4]
现在是要把他们分类以后要用分好的数据。lista1、lista2、lista3.。。等我都想在一个方法中动态创建。
有啥办法解决一下???谢谢
...全文
175 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
a137655624 2014-07-22
  • 打赏
  • 举报
回复
引用 6 楼 wangwuyilove 的回复:
[quote=引用 5 楼 a137655624 的回复:] Map<String, List<GzyKjTj>> xlss = new HashMap<String, List<GzyKjTj>>(); for(int i=0;i<list.size();i++){ GzyKjTj gzkj = list.get(i); String xlbh = gzkj.getXlbh(); List<> list = xlss .get(xlbh ); if(list != null){ ?.add(gzkj ); }else{ list = new Arraylist(); list.add(gzkj ); map.put(list ); } }
除了用map还有没有其他方法了,map他不能保证顺序,刚才没注意到这一点[/quote] 把HashMap 换成 treeMap ,, ,,,, HashMap 排序与HashCode 有关,,, treeMap 直接排序
a137655624 2014-07-22
  • 打赏
  • 举报
回复
引用 5 楼 a137655624 的回复:
Map<String, List<GzyKjTj>> xlss = new HashMap<String, List<GzyKjTj>>(); for(int i=0;i<list.size();i++){ GzyKjTj gzkj = list.get(i); String xlbh = gzkj.getXlbh(); List<> list = xlss .get(xlbh ); if(list != null){ ?.add(gzkj ); }else{ list = new Arraylist(); list.add(gzkj ); map.put(list ); } }
把HashMap 换成 TreeMap
痴傻二呆萌 2014-07-22
  • 打赏
  • 举报
回复
LZ既然 "a的值得种类也可以知道比如lista.[a=1;a=2;a=3;a=4]" 那么将a的值当做key取list不就可以了咩?
  • 打赏
  • 举报
回复
引用 5 楼 a137655624 的回复:
Map<String, List<GzyKjTj>> xlss = new HashMap<String, List<GzyKjTj>>(); for(int i=0;i<list.size();i++){ GzyKjTj gzkj = list.get(i); String xlbh = gzkj.getXlbh(); List<> list = xlss .get(xlbh ); if(list != null){ ?.add(gzkj ); }else{ list = new Arraylist(); list.add(gzkj ); map.put(list ); } }
除了用map还有没有其他方法了,map他不能保证顺序,刚才没注意到这一点
a137655624 2014-07-22
  • 打赏
  • 举报
回复
Map<String, List<GzyKjTj>> xlss = new HashMap<String, List<GzyKjTj>>(); for(int i=0;i<list.size();i++){ GzyKjTj gzkj = list.get(i); String xlbh = gzkj.getXlbh(); List<> list = xlss .get(xlbh ); if(list != null){ ?.add(gzkj ); }else{ list = new Arraylist(); list.add(gzkj ); map.put(list ); } }
  • 打赏
  • 举报
回复
引用 1 楼 a137655624 的回复:
遍历list,用map分类
尴尬了,我好像写不出来,能不能说细一点
  • 打赏
  • 举报
回复
引用 2 楼 u010661159 的回复:
再新建个Map来盛放分好的list数据可以不,
我怎么写不出来,那样的话map定义:Map<String, List<GzyKjTj>> xlss = new HashMap<String, List<GzyKjTj>>(); 循环那个list的时候 Map<String, List<GzyKjTj>> xlss = new HashMap<String, List<GzyKjTj>>(); for(int i=0;i<list.size();i++){ GzyKjTj gzkj = list.get(i); String xlbh = gzkj.getXlbh(); if(xlss.containsKey(xlbh)){ ?.add(gzkj ); }else{ map.put(xlbh,?); } }
痴傻二呆萌 2014-07-22
  • 打赏
  • 举报
回复
再新建个Map来盛放分好的list数据可以不,
a137655624 2014-07-22
  • 打赏
  • 举报
回复
遍历list,用map分类

81,092

社区成员

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

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