zoukankan      html  css  js  c++  java
  • java 去除重复项

    import java.util.Arrays;
    import java.util.HashSet;
    import java.util.Set;
    
    class Demo20
    {
        public static void main(String[] args)
        {
            //int [] arr={1,2,3,3,4,4,4,4};
            int [] arr={4,2,3,3,4,4,4,4};
            //arr=delArr(arr);
            arr=delArrByHash(arr);
            //test(arr);
            System.out.println(Arrays.toString(arr));
            System.out.println("这个数组的长度是:"+arr.length);
            System.out.println("这个是测试去除重复项!");
        }
        //数组去除重复项
        public static int [] delArr(int [] arr)
        {    
            if(arr.length<=1)
                return arr;
            int index=-1;
            //先排序
            for(int i=0;i<arr.length-1;i++)
            {
                index=-1;
                for(int j=i+1;j<arr.length;j++)
                {
                    if(arr[i]>arr[j])
                    {
                        index=j;
                    }
                }
                
                if(index!=-1)
                {
                    arr[i]=arr[i]^arr[index];
                    arr[index]=arr[i]^arr[index];
                    arr[i]=arr[i]^arr[index];
                }
            }
            index=0;
            for(int i=0;i<arr.length-1;i++)
            {            
                if(arr[i]==arr[i+1])
                    index++;
            
            }        
            int[] arrOne=new int[arr.length-index];
            
            index=0;        
            for(int i=0;i<arr.length-1;i++)
            {
                if(arr[i]!=arr[i+1])
                {
                    arrOne[index]=arr[i];
                    index++;
                }
            }
            arrOne[index]=arr[arr.length-1];//对最后一个数赋值    
            
            return arrOne;
        }
        
        // hashSet.toArray(new int[0]); 这个查了好久,里面好像是String类型的
        public static int[] delArrByHash(int [] arr)
        {
            
            Set<Integer> hashSet=new HashSet<Integer>();
            for(int i=0;i<arr.length;i++)
            {
                hashSet.add(arr[i]);            
            }
            int[] arrOne=new int[hashSet.size()];
            
            Integer [] arrTow= hashSet.toArray(new Integer[0]);
            
            for(int i=0;i<arrTow.length;i++)
            {
                arrOne[i]=arrTow[i].intValue();
            }
            return arrOne;
        }
        
    }
    我乃新手,如有错误欢迎指点
  • 相关阅读:
    Mayi_Maven安装与配置Myeclipse、Idea
    MY_Selenium登录126邮箱,定位不到账号输入框解决办法
    MY_使用selenium自动登录126/163邮箱并发送邮件
    2、TestNG+Maven+IDEA环境搭建
    1、Maven安装教程详解
    git常用命令
    LUA_linux的安装
    vsftp虚拟用户配置
    apache日志切割
    NTP Reply Flood Attack (NTP反射型DDos攻击)
  • 原文地址:https://www.cnblogs.com/wucaifang/p/3309072.html
Copyright © 2011-2022 走看看