美文网首页
去除数组中重复的元素

去除数组中重复的元素

作者: fuel | 来源:发表于2016-08-14 21:50 被阅读0次

    第一种做法,遍历数组,用isExist标记是否出现过,未出现则添加至新的数组

    public static int[] distinct(int[] arr){
        int length=1;
        bollean isExist=false;
        for(int i=1;i<arr.length;i++){
              for((int j=0;j<length;j++){
                    if(arr[i]==arr[j]){
                          isExist=true;
                     }
              }
                    if(!isExist){
                          arr[length]=arr[i];
                          length++;
                    }
                    isExist=false;
        }
        int[] newArr=new int[length];
        System.arraycopy(arr,0,newArr,0,length);
        return newArr;
    }
    

    第二种做法,利用set集合框架,因为set集合中元素不允许重复

    public static void main(String[] args){                      
             int[] arr={0,4,2,4,6,1,2,4,7,8};                           
             TreeSet ts=new TreeSet();                 
             for(int x=0;x<arr.length;x++){     
                  if(arr[x]==0)      
                    continue;                    
                ts.add(arr[x]);                  
          }                     
                System.out.println(ts);      
    }
    

    第三种做法,利用hashtable,利用其键的唯一性

     public Object[] filter(Object arr[])  
        {  
            Hashtable<Object, Object> hashtable = new Hashtable<Object, Object>();  
            for (int i = 0; i < arr.length; ++i)  
            {  
                hashtable.put(arr[i], arr[i]);  
            }  
            Object results[] = null;  
            results = hashtable.values().toArray();  
            return results;  
        }  
    } 
    

    相关文章

      网友评论

          本文标题:去除数组中重复的元素

          本文链接:https://www.haomeiwen.com/subject/bdaysttx.html