在学习Java基础的时候,当学到数组或者集合的时候,有一个经典的问题——去重,就会产生。我们不考虑各种知识的综合应用的前提下,利用所学的来解决所面临的问题,会提升我们的思考能力。
接下来我会从数组开始一直到集合,最后到综合运用来做一遍去重。也当做是给脑子做一些锻炼。
**一、数组的去重**
单单对于数组的去重而不去考虑其他的限制条件来说是不难思考的!首先,我们有一个旧的数组,在旧的数组中可能有重复的也可能没有重复的元素。那么我们应该思考,怎么才能去除重复呢?要想去除重复我们在原来的数组上操作是极其不明智的做法,那么可供我们选择的也只有新建一个新的数组了。请参见代码!
public class Array {
public static void main(String[] args) {
int[] arr = { 1, 1, 2, 3, 4, 5, 5, 1, 2, 6 };
int[] newarr = new int[arr.length];
int count = 0;
for (Integer i : arr) {
if (notcontains(newarr, i)) {
newarr[count++] = i;
}
}
System.out.println(Arrays.toString(newarr));
System.out.println(count);
}
public static boolean notcontains(int[] newarr, Integer i) {
boolean b = true;
for (Integer i1 : newarr) {
if (i1 == i) {
b = false;
}
}
return b;
}
以上是纯粹用数组解决数组去重的问题,大家其实认真读的话会发现,我昨晚处理以后并不完美,因为新的数组中其实后面的元素有些都是0,那么接下来要怎么做?今天不讲了,测试一下csdn的博客怎么写!