本发明涉及Java平台技术领域,特别涉及一种基于Java平台的两List集合合并方法。
背景技术:
在Java平台下进行两List(列表)集合合并时,容易导致合并后的List集合有某属性的内容重复的问题;为了解决这个问题,需要合并的过程语句进行过滤封装。
技术实现要素:
本发明解决的技术问题在于提供一种基于Java平台的两List集合合并的方法;解决合并后的List集合存在某属性的内容重复且索引混乱的问题。
本发明解决上述技术问题的技术方案是:
在两List集合合并时,先将大List集合中要去重复内容的属性提取封装成另一个集合,然后遍历小List集合,从中得到重复数据的索引,然后去除;重新在索引处添加数据,从而实现去重复而索引不变。
所述的方法具体包括如下步骤:
步骤一、创建含有name,、count属性的实体类Product;并创建工具类 ListUtil;
步骤二、在ListUtil工具类中创建大List<Product>bigList集合、小 List<Product>samllList集合及List<String>nameList集合;
步骤三、在构造方法中初始化bigList集合与samllList集合数据,然后循环遍历bigList集合,把所有Product的name属性内容添加到nameList集合中;
步骤四、创建getUnionList()方法,传入上述三个集合,循环遍历samllList 集合;
步骤五、创根据nameList.indexOf(product.getName())获取相同名称的对象在大集合的索引index;
步骤六、使用bigList.remove(index)方法移除大集合中名称相同的对象;
步骤七、最后使用bigList.add(index,product)方法,把samllList中的数据填充到大集合中。
本发明的有益效果:当使用两List集合合并时,将其大List集合中要去重复内容的属性提取封装成另一个集合,然后遍历小List集合,从中得到重复数据的索引,然后去除;重新在索引处添加,从而达到去重复而索引不变的目的。有效解决List集合合并后存在某属性的内容重复且索引混乱的问题。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图。
具体实施方式
如图1所示,本发明采用如下步骤:
步骤一、创建实体类Product,含有name,count属性及创建工具类ListUtil;如:
步骤二、在ListUtil工具类中创建大List<Product>bigList集合、小 List<Product>samllList集合及List<String>nameList集合;如:
步骤三、在构造方法中初始化bigList集合与samllList集合数据,然后循环遍历bigList集合,把所有Product的name属性内容添加到nameList集合中;如:
步骤四、创建getUnionList()方法,传入上述三个集合,循环遍历samllList集合;如:
步骤五、根据nameList.indexOf(product.getName())获取相同名称的对象在大集合的索引index;如:
步骤六、使用bigList.remove(index)方法移除大集合中名称相同的对象;如:
步骤七、最后使用bigList.add(index,product)方法,把samllList中的数据填充到大集合中。如:
。