导航:首页 > 数据处理 > list集合如何把重复的数据叠加

list集合如何把重复的数据叠加

发布时间:2022-11-12 19:57:03

㈠ java 一个list集合中很多重复元素时,当重复的元素中一个插入数据其他重复的数据同样的插入 如何实现

同一个对象,你可以往list插入两次,在list里面占两个位置,但是是同一个对象。

㈡ JAVA三个集合LIST 取集合相同值合并

List里面有一个“contains”的方法,可以知道list里面是否存在某个值:

importjava.util.ArrayList;

importjava.util.List;

publicclassI{

publicstaticvoidmain(String[]args){

List<Integer>list1=newArrayList<Integer>();

for(inti=0;i<7;i++){

list1.add(i);

}

List<Integer>list2=newArrayList<Integer>();

for(inti=3;i<10;i++){

list2.add(i);

}

System.out.println("List1:"+list1);

System.out.println("List2:"+list2);

System.out.println("交集为"+getIntersection(list1,list2));

}

publicstaticList<Integer>getIntersection(List<Integer>list1,

List<Integer>list2){

List<Integer>result=newArrayList<Integer>();

for(Integerinteger:list2){//遍历list1

if(list1.contains(integer)){//如果存在这个数

result.add(integer);//放进一个list里面,这个list就是交集

}

}

returnresult;

}

}

测试结果:

㈢ 如何去除List集合中的重复项ID的,并把重复项的数量相加

使用HashMap,具有重复的特点
比如你的数据在一个List对象list中,每一个对象是Wu类型,Wu中有int类型的id和int类型的count
List<Wu> list;
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
for(Wu w : list){
if(map.get(w.getId())==null){

map.put(w.getId(),w.getCount());

}else{

map.put(w.getId(),w.getCount()+map.get(w.getId()));
}

}
只是简单表述一下,原理是利用hashmap的key不能重复的特点
hashmap中key存放id,value存放count,先遍历list把值一个个存入haspmap中,存之前通过id去找key如果没有,就存进去,如果有就说明重复了,就取出count累加后再放进去。

㈣ 一个list要把相同的元素的某个值累加起来,怎么办

常规做法就是遍历list,然后取出studentNo&name进行比对,放在map中,like this:

for( student in studentList){
if(map.contains(student[(name+studentNo)])){

map.get(name+studentNo)+student.score

}else{
// put score into the map with name&studentNo key
}
}
this map object is the final result you want

//或者你可以写一个子类继承hashmap,重写put方法,把这个方法包含了你需要的逻辑,然后一个个直接put进去即可

㈤ 如何去除LIST里的重复元素并合并相同的对象

最好的办法是用Set,因为Set里面存放的数据是不重复的。
如果你不想用Set,那还可以向下面这样处理。

List list_tmp = new ArrayList(); //建立一个用于临时存放不重复list元素的List集合。
for(Object obj:list){
//可以根据需要,在这里加上强制转型。
//如list里面存放的是一个User对象,那么加上User u = (User) obj;
if(!list_tmp.contains(obj)){ //注意contains方法是通过equals方法进行比较的所以你要根据你自己的需要看是否需要重写list对象里面的equals方法。
list_tmp.add(obj);//如果上面加了强制转型,这里需要写list_tmp.add(u);
}
}

㈥ java集合中怎么使两个一样的变量重叠

一样的变量用List,set集合不允许重复
理解你的意思是一样的变量挨着,for循环内嵌ListIterator,for循环取集合中的对象,迭代遍历集合,相同就排在挨着的位置。

㈦ 怎样将一个list中重复的整数相加

用foreach历遍list相加就可以了啊
List <Integer>list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(2);
list.add(3);
int n=0;

for(int i:list){
n=n+i;
}
System.out.println(n);

㈧ 如何将list中ID值相同的数据合成一条

Map<String,List<String>>map=newHashMap();
for(Strings:list){
Stringkey=s.substring(0,8);
Stringvalue=s.substring(8);
if(map.contains(key)){
List<String>ls=map.get(key);
ls.add(value);
}else{
map.put(key,Arrays.asList(value));
}
}

㈨ java中如何把2个LIST相同的内容相加

packagetest;

importjava.util.*;

publicclassTest{
publicvoidtest(){
Listlist1=newArrayList();
list1.add(newField("A",1));
list1.add(newField("B",1));
list1.add(newField("C",1));
Listlist2=newArrayList();
list2.add(newField("A",2));
list2.add(newField("D",2));
list2.add(newField("E",2));
Listres=Join(list1,list2);
for(Fieldfield:res){
System.out.print(field.getName()+":"+field.getValue()+",");
}
}

publicstaticvoidmain(String[]args){
newTest().test();
}

publicstaticListJoin(Listlist1,Listlist2){
Listres=newArrayList();
Listlist2_=newArrayList(list2);
for(Fieldfield1:list1){
booleanhasSameOne=false;
for(Fieldfield2:list2){
if(field1.getName().equals(field2.getName())){
res.add(field1.add(field2));
list2_.remove(field2);
hasSameOne=true;
}
}
if(!hasSameOne)
res.add(field1);
}
res.addAll(list2_);
returnres;
}

publicclassField{
privateintvalue=0;
privateStringname;

publicField(Stringname,intvalue){
this.name=name;
this.value=value;
}

publicintgetValue(){
returnvalue;
}

publicStringgetName(){
returnname;
}

publicFieldadd(Fieldvalue){
returnnewField(this.getName(),this.getValue()+value.getValue());
}
}
}

㈩ java for循环 怎样把一个list里相同的数据放到一起

通过题主的描述可以看到,其实就是一个List<Integer>的集合数据处理问题,希望把相同的数据放到一起,是一种归类操作,也就是说其实总得需要把List<Integer>形式转化为Map<Integer, List<Integer>>的形式

这种形式map的key也就是当前的这个数字,而这个value就是这个数字对应的所有当前出现此key的集合

List<Integer>list=Arrays.asList(1,1,2,3,4,2,1);
Map<Integer,List<Integer>>map=newHashMap<>();
for(Integernum:list){
//map是否包含此key,若已经包含则添加一个新的数字到对应value集合中
if(map.containsKey(num)){
map.get(num).add(num);
}else{
//map不包含此key,则重新创建一个新集合,并把这个数字添加进集合
//,再把集合放到map中
List<Integer>newList=newArrayList<>();
newList.add(num);
map.put(num,newList);
}
}
System.out.println(map);

输出结果

结果也是一样的,题主可以自行选择

阅读全文

与list集合如何把重复的数据叠加相关的资料

热点内容
小渔市场怎么样 浏览:871
如何用婉转的话说老公不回信息 浏览:962
淘宝万宝路怎么交易 浏览:624
华中数控程序如何校验 浏览:847
怎么样介绍产品和文字 浏览:362
临沂代理记账多少一年 浏览:416
抚州抖音小程序开发一般多少钱 浏览:518
正规人事代理有哪些 浏览:382
猫达人微信小程序是什么 浏览:507
华为的接入技术主要有哪些 浏览:321
如何规范编辑群信息 浏览:188
云悠悠神秘交易行在哪里 浏览:537
飞机控制程序用什么编程 浏览:308
腾讯文档怎么批量筛选数据 浏览:735
cmd如何结束一个正在运行的程序 浏览:506
solidcam程序编辑后处理在哪里 浏览:755
苹果退钱信息在哪里看 浏览:829
如何快速捕捉财经信息 浏览:38
小学信息技术硬件知多少公开课 浏览:671
营销代理叫什么 浏览:106