java里,如何消除ArrayList里面重复的数字,最好能用循环做对比,然后排除。
答案:6 悬赏:30 手机版
解决时间 2021-03-20 19:12
- 提问者网友:蓝莓格格巫
- 2021-03-20 06:11
java里,如何消除ArrayList里面重复的数字,最好能用循环做对比,然后排除。
最佳答案
- 五星知识达人网友:野慌
- 2021-03-20 06:27
ArrayList<Integer> demo = new ArrayList<Integer>();
...
for(int i = 0; i < demo.size(); ++ i)
for(int j = i + 1; j < demo.size(); ++ j){
if(demo.get(i).equals(demo.get(j)))
demo.remove(j);
}
...
for(int i = 0; i < demo.size(); ++ i)
for(int j = i + 1; j < demo.size(); ++ j){
if(demo.get(i).equals(demo.get(j)))
demo.remove(j);
}
全部回答
- 1楼网友:野慌
- 2021-03-20 11:18
实现思路有很多种 达到你的目的就行, 下面的代码你可以参考一下:
class removeTheExistNumber{
public static void main(String args[]){
List list=new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add(1);
list.add(2);
Map map=new HashMap();
for (int i = 0; i < list.size(); i++) {
map.put(list.get(i), list.get(i));
}
list.clear();
for (int i = 0; i < map.keySet().toArray().length; i++) {
list.add(map.keySet().toArray()[i]);
}
for(int i=0; i<list.size();i++)
System.err.println(list.get(i));
}
}
下面是第二种实现方式:
class removeTheExistNumber{
public static void main(String args[]){
List list=new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add(1);
list.add(2);
Map map=new HashMap();
List tempList=new ArrayList();
for (int i = 0; i < list.size(); i++) {
if(!tempList.contains(list.get(i))){
tempList.add(list.get(i));
}
}
list=tempList;
for(int i=0; i<list.size();i++)
System.err.println(list.get(i));
}
}
- 2楼网友:行雁书
- 2021-03-20 09:55
第一种:
List list = new ArrayList();
list.add(1);
list.add(1);
list.add(2);
list.add(3);
Set set = new HashSet();
set.addAll(list);
for (int i = 0; i < set.size(); i++) {
System.out.println(set.toArray()[i]);
}
第二种:
List list = new ArrayList();
list.add(1);
list.add(1);
list.add(2);
list.add(3);
list.add(1);
list.add(2);
int flag =0;
for (int j = list.size()-1; j >=0; j--) {
for (int i = 0; i < list.size(); i++) {
if(list.get(j)==list.get(i)&&j!=i){
flag=1;
}
}
if(flag==1){
list.remove(j);
flag=0;
}
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
- 3楼网友:冷風如刀
- 2021-03-20 08:46
遍历list,把数字放入一个set,若set里面已经存在该数字,从list里面删除这个数字
- 4楼网友:舊物识亽
- 2021-03-20 07:53
List<Integer> list1 = new ArrayList<Integer>();
list1.add(123);
list1.add(123);
list1.add(124);
list1.add(123);
list1.add(126);
List<Integer> norepeat = new ArrayList<Integer>();
for(int i:list1){
if(!norepeat.contains(i)){
norepeat.add(i);
}
}
- 5楼网友:笑迎怀羞
- 2021-03-20 07:12
List list1 = new ArrayList();
list1.add(123);
list1.add(123);
list1.add(124);
list1.add(123);
list1.add(126);
List norepeat = new ArrayList();
for(int i:list1){
if(
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯