两个list集合比较-怎么实现让两个list相同的元素在某个list中数量加1,不同的元素也都存到这个list中?

问题描述

怎么实现让两个list相同的元素在某个list中数量加1,不同的元素也都存到这个list中?
我的这些代码是错的,实现不了?该怎么改?各位大神帮帮忙,纠结好几天了!
List cartlist2=(List)session.getAttribute(""cartlist2"");
List list=new ArrayList();
for(int i=0;i<cartlist.size();i++){
goods=(Goods)cartlist.get(i);
for(int j=0;j<cartlist2.size();j++){

goods2=(Goods)cartlist2.get(j);
if(goods.getGid().equals(goods2.getGid())){

int gnumber=goods2.getGnumber();
goods2.setGnumber(gnumber+1);

list.add(goods2);
cartlist2.remove(goods2);
break;
}else{

String gid=goods.getGid();
String gname=goods.getGname();
int gprice=goods.getGprice();
String gpress=goods.getGpress();
int gpostage=goods.getGpostage();
int gnumber=1;
goods3=new Goods(gidgnamegpricegpressgpostagegnumber);
list.add(goods3);
}

                }            }            for(int k=0;k<list.size();k++){                goods3=(Goods)list.get(k);                cartlist2.add(goods3);            }            session.setAttribute(""cartlist2""cartlist2);              //response.sendRedirect(""shoppingcart.jsp"");            request.getRequestDispatcher(""shoppingcart.jsp"").forward(request response);  

解决方案

用一个boolean 标志标识for循环就Ok了

时间: 2024-11-03 21:59:05

两个list集合比较-怎么实现让两个list相同的元素在某个list中数量加1,不同的元素也都存到这个list中?的相关文章

arraylist-找出两个list集合中是否有相同元素的算法?

问题描述 找出两个list集合中是否有相同元素的算法? @Test public void say() { List listA = new ArrayList(); List listB = new ArrayList(); listA.add("z"); listA.add("a"); listA.add("b"); listA.add("c"); listB.add("c"); listB.add(&

c++-编写程序,求两个整数集合的并集。。。

问题描述 编写程序,求两个整数集合的并集... 编写程序,求两个整数集合的并集...能不能把下面这个修改一下??如果可以,再写一个完整的程序也可以 解决方案 这是按照你的思路写的(假设a b两个数组内没有重复的数字) #include <iostream> #include <stdlib.h> using namespace std; void arrunion(int a[], int b[], int r[], int an, int bn, int * n) { *n =

ArrayList删除集合中某一属性相同的元素方法(推荐)_java

如果想要集合中的元素不会有重复,那么推荐使用hashSet,如下: // list是有重复元素的ArrayList HashSet hSet = new HashSet(list); list.clear(); list.addAll(hSet); 但是有时我们想删除某一个重复属性值(值相同)的某个元素,如下: NetWork nw1 = new NetWork(); nw1.id = 1; nw1.destip = "192.168.1.3"; NetWork nw2 = new N

ASP.NET中实现把form表单元素转为实体对象或集合

这篇文章主要介绍了ASP.NET中实现把form表单元素转为实体对象或集合,本文又是一个对重复数据处理的一个封装,非常实用的开发技巧,需要的朋友可以参考下     简介: 做WEBFROM开发的同学都知道后台接收参数非常麻烦 虽然MVC中可以将表单直接转为集实,但不支持表单转为 LIST<T>这种集合 单个对象的用法: 表单:   代码如下: <input name='id' value='1' > <input name='sex' value='男' >   后台:

不同结构的表数据新增-SQL 不同表结构的两张表A和B,往表中新增表B的数据,判断条件如果表A中不存在B中的记录

问题描述 SQL 不同表结构的两张表A和B,往表中新增表B的数据,判断条件如果表A中不存在B中的记录 insert into A(no,name,status)values ( select no,name,'Add' from B where B.no not in (select no from A) ) A(no,name,status) B(no,name) no是主键,上面这么写报错,请问要怎么改 ? 解决方案 insert into A(no,name,status) select

java-有两个功能模块,功能基本相同,用两个功能掉一个action方法好还是两个action好

问题描述 有两个功能模块,功能基本相同,用两个功能掉一个action方法好还是两个action好 java的web开发中有两个功能模块,功能基本相同,我是用两个功能掉一个action方法好,还是写两个action各自调用自己的方法好 解决方案 看模块的相关程度和以后要不要扩展了,如果以后可能两个模块可能会有不同程度的扩展,建议还是两个action比较把握,否则到时候在新增,很麻烦的

表单中table一个单元格里有两个数据,就是一个td有两个input=text。怎么确定数据相关。

问题描述 表单中table一个单元格里有两个数据,就是一个td有两个input=text.怎么确定数据相关. 表单中table一个单元格里有两个数据,就是一个td有两个input=text.怎么确定数据相关. 解决方案 确定数据相关是什么意思?你想实现什么 解决方案二: 你问问题能不能把问题说明白 解决方案三: 大概是这个意思吧? <!DocTYPE HTML><html> <head> <meta charset=""utf-8"&

c语言 c++ 单片机-51单片机利用两个外部中断(和一个定时器)计算两个中断的时间间隔的C语言程序。谢谢了

问题描述 51单片机利用两个外部中断(和一个定时器)计算两个中断的时间间隔的C语言程序.谢谢了 51单片机利用两个外部中断(和一个定时器)计算两个中断的时间间隔的C语言程序.谢谢了 .万分感谢... 解决方案 具体的哪个单片机?代码需要整个写好么? 解决方案二: http://zhidao.baidu.com/link?url=qpZQDUaPuGYd69ZgYe3bESTSAS7vjc0XO7puc-KtYMWVkxwtMbh5xTkWI5GbvvHT6Eb3WKFhqIfbl7HtGBGZV

【PHP】给两个字符串返回字符串按排序出两个字符串的字符de多种解法

问题描述 给出两个字符串s1和s2,两个字符串仅包含a-z,返回一个排序后的字符串,包含这两个字符串的内容,每个字母只出现一次. 举例: a = "xyaabbbccccdefww" b = "xxxxyyyyabklmopq" longest(a, b) -> "abcdefklmopqwxy" a = "abcdefghijklmnopqrstuvwxyz" longest(a, a) -> "abc