字符串整理

single_zyh 2012-10-09 12:13:11
有以下查询结果集:
认证码:6901382013296007065156155453415
商品编号:100300700000201
商品名称:五粮液
厂商名称:西科技
产地:1
酒精度:1
净含量:1
香型:1
原料:1
质量等级:1
执行标准:1
生产许可证号:0
建议零售价:160.00
营业执照号:1
出厂日期:null
分拣地点:塔区
分拣地名称:分拣中心一
分拣日期:12年09月11日10时33分
零售店名称:高新路店
零售商地址:高新路
零售店电话:13412345678
认证码:6901382013296007254667112413514
商品编号:100300700000206
商品名称:五粮液
厂商名称:西科技
产地:1
酒精度:1
净含量:1
香型:1
原料:1
质量等级:1
执行标准:1
生产许可证号:0
建议零售价:180.00
营业执照号:1
出厂日期:null
分拣地点:塔区
分拣地名称:分拣中心一
分拣日期:12年09月11日10时33分
零售店名称:高新路店
零售商地址:高新路
零售店电话:13412345678
认证码:6901382013296007372864139898815
商品编号:100300700000203
商品名称:五粮液
厂商名称:西科技
产地:1
酒精度:1
净含量:1
香型:1
原料:1
质量等级:1
执行标准:1
生产许可证号:0
建议零售价:170.00
营业执照号:1
出厂日期:null
分拣地点:塔区
分拣地名称:分拣中心一
分拣日期:12年09月11日10时33分
零售店名称:高新路店
零售商地址:高新路
零售店电话:13412345678
认证码:6901382013296007569639173611214
商品编号:100300700000301
商品名称:五粮液
厂商名称:西科技
产地:1
酒精度:1
净含量:1
香型:1
原料:1
质量等级:1
执行标准:1
生产许可证号:0
建议零售价:180.00
营业执照号:1
出厂日期:null
分拣地点:塔区
分拣地名称:分拣中心一
分拣日期:12年09月11日10时33分
零售店名称:高新路店
零售商地址:高新路
零售店电话:13412345678
认证码:6901382013296007587823162275818
商品编号:100300700000205
商品名称:五粮液
厂商名称:西科技
产地:1
酒精度:1
净含量:1
香型:1
原料:1
质量等级:1
执行标准:1
生产许可证号:0
建议零售价:170.00
营业执照号:1
出厂日期:null
分拣地点:塔区
分拣地名称:分拣中心一
分拣日期:12年09月11日10时33分
零售店名称:高新路店
零售商地址:高新路
零售店电话:13412345678
认证码:6901382013296007744292151621312
商品编号:100300700000202
商品名称:五粮液
厂商名称:西科技
产地:1
酒精度:1
净含量:1
香型:1
原料:1
质量等级:1
执行标准:1
生产许可证号:0
建议零售价:160.00
营业执照号:1
出厂日期:null
分拣地点:塔区
分拣地名称:分拣中心一
分拣日期:12年09月11日10时33分
零售店名称:高新路店
零售商地址:西安高新路
零售店电话:13412345678
认证码:6901382013296007984674138947911
商品编号:100300700000204
商品名称:五粮液
厂商名称:西科技
产地:1
酒精度:1
净含量:1
香型:1
原料:1
质量等级:1
执行标准:1
生产许可证号:0
建议零售价:170.00
营业执照号:1
出厂日期:null
分拣地点:塔区
分拣地名称:分拣中心一
分拣日期:12年09月11日10时33分
零售店名称:高新路店
零售商地址:高新路
零售店电话:13412345678
认证码:69013820132960079952242182006
商品编号:1003007000003
商品名称:五粮液
厂商名称:西科技
产地:1
酒精度:1
净含量:1
香型:1
原料:1
质量等级:1
执行标准:1
生产许可证号:0
建议零售价:180.00
营业执照号:1
出厂日期:null
分拣地点:塔区
分拣地名称:分拣中心一
分拣日期:12年09月11日10时33分
零售店名称:高新路店
零售商地址:高新路
零售店电话:13412345678
认证码:6907100002012008306756078291636
商品编号:102000800000101
商品名称:酒类测试
厂商名称:西科技
产地:西南路34号
酒精度:50°
净含量:500ML
香型:浓香型
原料:水、高粱、小麦、大麦、豌豆
质量等级:优级
执行标准:HX/TECH09-2012
生产许可证号:HX710075201209
建议零售价:188.00
营业执照号:6902012710075
出厂日期:12年09月19日09时57分
分拣地点:塔区
分拣地名称:分拣中心一
分拣日期:12年09月19日10时21分
零售店名称:高新路店
零售商地址:高新路
零售店电话:13412345678

总共有9条记录,每个认证码代表一条记录,前8条除了认证码和编号不同以外(判断前8条是同一个产品的标准是,认证码的前13位相同),其它的内容是完全相同的。
我要做的是相同的内容不让它去显示,把前8条认证码和编号一一对应的取出来,其它内容只显示一次,
不用一个认证码和编号后面显示一堆相同的,如何实现这个结果,谢谢各位。
也就是重新整理后得到以下结果:(只要能得到这个结果不管是改查询语句还是程序处理都行)
认证码:6901382013296007065156155453415,6901382013296007254667112413514,6901382013296007372864139898815,6901382013296007569639173611214,6901382013296007587823162275818,6901382013296007744292151621312,6901382013296007984674138947911,69013820132960079952242182006
商品编号:100300700000201,100300700000206,100300700000203,100300700000301,100300700000205,100300700000202,100300700000204,1003007000003
商品名称:五粮液
厂商名称:西科技
产地:1
酒精度:1
净含量:1
香型:1
原料:1
质量等级:1
执行标准:1
生产许可证号:0
建议零售价:160.00
营业执照号:1
出厂日期:null
分拣地点:塔区
分拣地名称:分拣中心一
分拣日期:12年09月11日10时33分
零售店名称:高新路店
零售商地址:高新路
零售店电话:13412345678
认证码:6907100002012008306756078291636
商品编号:102000800000101
商品名称:酒类测试
厂商名称:西科技
产地:西南路33号
酒精度:50°
净含量:500ML
香型:浓香型
原料:水、高粱、小麦、大麦、豌豆
质量等级:优级
执行标准:HX/TECH09-2012
生产许可证号:HX710075201209
建议零售价:188.00
营业执照号:6902012710075
出厂日期:12年09月19日09时57分
分拣地点:塔区
分拣地名称:分拣中心一
分拣日期:12年09月19日10时21分
零售店名称:西新路店
零售商地址:西新路
零售店电话:13412345678
...全文
230 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2012-10-10
  • 打赏
  • 举报
回复
/**
* 以下代码属于示例代码,仅供参考。
**/
//将商品进行分组,保持在group对象里。key是认证码的前13位,value是相同产品的产品信息。
HashMap<String,List<Product>> group = new HashMap<String,List<Product>>();
//遍历查询结果
for(Product p : ResultSet<Product>){
String code = p.get认证码().substring(0,13);//取产品认证码的前13位。
List<Product> list = group.get(code);
if(list==null){//新的分组
list = new ArrayList<Product>();
group.put(code,list);
}
list.add(p);
}//end for 完成分组操作
//输出结果。
for(List<Product> list : group.valuse()){
if(list.size()>1){//有多个相同商品
for(Product p : list){
//TODO 输出相同商品的认证码
}
for(Product p : list){
//TODO 输出相同商品的商品编号
}
}else{//只有一个商品
//TODO 输出单一商品的信息
}
}
keithcai 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
提供个好的思路也行啊
[/Quote]
1楼的思路很好啦
zcwgogo 2012-10-10
  • 打赏
  • 举报
回复
遍历这个出来的结果列表,把认证码的前13位当作键丢进MAP,每次丢的时候判断是否存在这个认证码的前13位的键,MAP的键为认证码的前13位值为你的那个商品的对象
single_zyh 2012-10-10
  • 打赏
  • 举报
回复
提供个好的思路也行啊
2399 2012-10-09
  • 打赏
  • 举报
回复
java定义这个商品类,重写equals方法,除了认证码,和商品编码,其他的一样就相等。否则不相等,显示的时候再判断下就好了
single_zyh 2012-10-09
  • 打赏
  • 举报
回复
谁帮帮我啊

62,621

社区成员

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

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