天天看點

黑馬程式員-數組去重複元素

------Java教育訓練、Android教育訓練、iOS教育訓練、.Net教育訓練、期待與您交流! -------

 第6題:數組去重複,例如: 原始數組是{4,2,4,6,1,2,4,7,8},得到結果{4,2,6,1,7,8}

  思路:1.觀察題意,是要數組去重複數字,得到新的數組,并且順序不能改變。首先自然是想辦法去除數組中的重複元素,

 想到能否通過集合來實作這道題目呢?因為記得有種集合可以自動去除重複元素,并且存入和取出元素的順序也不會

 發生變化。

        2.那麼,先定義一個LinkedHashSet集合,接收原始數組中的元素,在過程中不會添加重複的元素,順序也不會發生變化

     3.再将得到的LinkedHashSet集合轉換成數組

     4.周遊得到的新數組

下面是詳細代碼:

黑馬程式員-數組去重複元素

public class Test_06 {

public static void main(String[] args) {

//定義原有數組arr

int[] arr={4,2,4,6,1,2,4,7,8};

//定義一個LinkedHashSet集合:lhs

LinkedHashSet<Integer> lhs=new LinkedHashSet<Integer>();

//将數組arr中的元素裝入lhs集合中,進行自動去重

for (int i = 0; i < arr.length; i++) {

lhs.add(arr[i]);

}

//定義一個新的數組arr2接收lhs集合中的元素

Integer[] arr2= lhs.toArray(new Integer[0]);

//周遊得到的新數組arr2

printArray(arr2);

}

//定義一個周遊新數組arr2的方法

public static void printArray(Integer[] arr){

System.out.print("{");

for (int i = 0; i < arr.length; i++) {

if (i!=arr.length-1) {

System.out.print(arr[i]+",");

}else{

System.out.print(arr[i]+"}");

}

}

}

  }