天天看点

黑马程序员-数组去重复元素

------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]+"}");

}

}

}

  }