Java數組去掉重復的方法集

bbw3 9年前發布 | 3K 次閱讀 Java

經常用到,有時候不只是簡單的基本類型,那種可以用set集合去重,好多時間用到的是我們自定義的類型,下面舉個例子(我這兒就那int舉例了):

方法一、 這種類似與選擇排序算法,首先我們取i值,然后將i之后的所有重復的去掉。具體實現如下:

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

public class ArrayRemoveRepeat {

/** 
 * @param args 
 */  
public static void main(String[] args) {  
    // 原始數組是{4,2,4,6,1,2,4,7,8, 8, 19,11},得到結果{4,2,6,1,7,8}。  
    System.out.println("之前的數組");  
    Integer[] src = { 4, 2, 4, 6, 1, 2, 4, 7, 8 };  
    for (Integer k : src) {  
        System.out.print(k + ",");  
    }  

    List<Integer> list = new CopyOnWriteArrayList<Integer>(src);  


    int i = 0;  
    while (i < list.size() - 1) {  

        int j = i+1;  
        while (j < list.size()) {  
            if (list.get(i) == list.get(j)) {  
                list.remove(j);  
                j--;  
            }  
            j++;  
        }  


        i++;  
    }  

    src = list.toArray(new Integer[list.size()]);  
    System.out.println("\n之后的數組");  
    for (Integer k : src) {  
        System.out.print(k + ",");  
    }  
}  

} </pre>

 本文由用戶 bbw3 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!