黑马程序员技术交流社区
标题:
数组怎么去重 简单语言
[打印本页]
作者:
chenshi
时间:
2016-1-22 00:00
标题:
数组怎么去重 简单语言
定义一个int类型的一维数组,(随意有重复数据就行)去除上面定义的数组中的重复元素。刚学完数组,用简单的方法。
作者:
愿随风丶飘雪
时间:
2016-1-22 00:05
利用嵌套for循环进行比较,如果在本数组中没有一样的就输出.....或者等到学了集合了这事情就好办了
作者:
我爱睡觉
时间:
2016-1-22 13:49
比较费内存 但是比较好理解的
两个数组A,B 取A里面的值和B里面的值对比,不等就存
作者:
olivec
时间:
2016-1-22 15:51
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
int[] arr = { 2, 1, 3, 1, 1, 4, 6, 4, 5, 8, 6, 2, 9, 8, 7, 7 };
arr = f(arr, 1);
System.out.println(Arrays.toString(arr));
}
// 发现重复的元素就从这个元素索引开始 把数组中元素依次向前移动一位 然后把数组长度减一
public static int[] f(int[] arr, int index) {
if (index < arr.length) {
boolean flag = false;
for (int i = index - 1; i >= 0; i--) {
if (arr[index] == arr[i]) {
for (int k = index; k < arr.length - 1; k++) {
arr[k] = arr[k + 1];
}
arr = Arrays.copyOf(arr, arr.length - 1);
flag = true;
break;
}
}
index = flag ? index : index + 1;
return f(arr, index);
} else {
return arr;
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2