永发信息网

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);
}
全部回答
  • 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(
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯