当前位置:首页 » 编程语言 » 重复数字java

重复数字java

发布时间: 2025-04-08 23:54:05

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);

输出结果

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

Ⅱ 求救,有四个数 1,2,3,5,任意相加(可以重复)等于一个固定值N(<15),列出所有可能组合,用java实现!

算法如下:N=1+1+1+1+1+...+1(共N个1) 一种
若N-1>0 N=2+1+1+1+1+...+1(共N-1个1)N-1种(两个1换个2)
若N-2>0 N=3+1+1+1+...+1(共N-2个1)N-2种(三个1换个3)
若N-4>0 N=5+1+...+1(共N-4个1)N-4种(五个1换个5,还有2,3换5的情况)
5=(2+3)=(3+2)=(1+2+2)=(2+1+2)=(2+2+1) 5种
故N>=5时有 5*(N-4) + (N-2) + (N-1) + 1
求组合也是差不多,替换就行

Ⅲ java一个txt文档中有100个手机号,有可能会有重复的,如何用最快的方法找出重复的

建立一颗树,建立的过程为:

1)开始的时候树是空的。
2)逐个读取手机行,比如读入一个手机号为:12345678900,在树中插入这个手机号后,树为:
root
└─1
└─2
└─3
└─4
└─5
└─6
└─7
└─8
└─9
└─0
└─0

3)插入若干手机号后,树可能是这样的:
root
└─1
├─2
│ └─3
│ └─4
│ └─5
│ └─6
│ ├─6
│ │ └─8
│ │ └─9
│ │ └─0
│ │ ├─0
│ │ └─1
│ └─7
│ └─8
│ └─9
│ └─0
│ ├─0
│ └─1
├─5
│ └─3
│ └─4
│ └─5
│ └─6
│ └─7
│ └─8
│ └─9
│ └─0
│ └─0
└─7
└─3
└─4
└─5
└─6
└─7
└─8
└─9

这颗数一共有 6 个手机号,分别是:
12345668900
12345668901
12345678900
12345678901
15345678900
17345678900

4)判断一个手机号是不是重复的,只要在这颗树里面,逐层逐个数字查找就可以了。

5)效率分析:这种算法,插入一个新的手机号,以及查找一个手机号是否重复,效率都是很高的。

Ⅳ java int数组中 移除指定重复的数字

上段粗糙的代码:

publicstaticint[]removeCu(inta){
//通过指定数字a删除它
//比如这个数字为3
ArrayListlst=newArrayList();
for(inti=0;i<coun.length;i++){
if(coun[i]!=a){
lst.add(coun[i]);
}
}
int[]rs=newint[lst!=null?lst.size():0];
for(intj=0;j<rs.length;j++){
rs[j]=Integer.parseInt(lst.get(j).toString());
}
System.out.println(Arrays.toString(rs));

returnrs;
}

Ⅳ java中怎么样子找出数组中重复的数,并去除

其实只要遍历数组,然后放进set集合内即可实现。
比如:
//set集合可以自动去重
Integer[] a = {1, 2, 2 , 19, 19, 8, 9};
Set<Integer> set = new HashSet<Integer>();
for(Integer i : a)
set.add(i);
for(Object s: set.toArray())
System.out.print(s+ " ");
}

热点内容
scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:619
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:346
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:62
php微信接口教程 发布:2025-04-16 17:07:30 浏览:288
android实现阴影 发布:2025-04-16 16:50:08 浏览:781
粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:333
机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:196
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:785
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:349
土压缩的本质 发布:2025-04-16 16:13:21 浏览:578