java移除重复数

java移除重复数

问:java删除数组中重复的数。
  1. 答:最直接的方式, 用嵌套循环, 从数组第一个元素开始与该元素之后的所有元素比较, 如果发现相同的,则删除后者
    这是方法:
    for (i=0; i < 数组长度; i++)
    {
    int temp = 元素[i];
    for (int j = i +1; j < 数组长度; j++)
    {
    if (temp == 元素[j])
    删除元素[j];
    }
    }
  2. 答:这个简单点的方法就是,把这个数组的数字全部put进一个Map里面。重复的自然会被替换掉。最后把Map里面的key值再输出来就完全没有重复了。
问:java 去掉重复的数字
  1. 答:String s="101,102,102,105,108,109,110,101";
    String[] array = s.split(",");
    StringBuilder sb = new StringBuilder();
    for (String str : array) {
    if(sb.indexOf(str) != -1){
    continue;
    }
    sb.append(str).append(",");
    }
    String newStr = sb.toString().substring(0,sb.length() - 1);
    System.out.println(newStr);
  2. 答:先分割成数组 然后放Set里面自动去重复 然后再拼成一个字符串
  3. 答:思路:
    1、以","为分隔符把字符串分割成字符串数数组,数组中只包括各个数字;
    2、使用循环遍历该数组,逐个比较数组中的元素,重复的话,让数组元素前移
    3、把该新数组的元素用","组合成新字符串
    4、上面的实现要用到String类的一些方法,查看JDK帮助选择合适的方法。
问:java中怎么样子找出数组中重复的数,并去除
  1. 答:其实只要遍历数组,然后放进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+ " ");
    }
  2. 答:int[] arr = new int[]{1,2,3,4,5,1,3,5};
    Set<Integer> set = new HashSet<Integer>();
    for(int i = 0 ; i < arr.length; i ++){
    for( int j = 0 ; j < arr.length ;j ++){
    if(i != j && arr[i] == arr[j]){
    set.add(arr[i]);
    }
    }
    }
    System.out.println("重复的数字:"+set.toString());
    Set<Integer> set2 = new HashSet<Integer>();
    for(int i = 0 ; i < arr.length; i ++){
    if(!set.contains(arr[i])){
    set2.add(arr[i]);
    }
    }
    System.out.println("删除重复数字后:"+set2);
  3. 答:将数组中的值放在一个Set集合中,再将Set集合转为数组
java移除重复数
下载Doc文档

猜你喜欢