java 数组去重:
方法一:
public class Tasks {
public static void main(String[] args) {
String[] arrOne=new String[5];
arrOne[0]="a";
arrOne[1]="d";
arrOne[2]="c";
arrOne[3]="d";
arrOne[4]="d";
int num=arrOne.length;
int k=0;
String[] arrTwo=new String[num];
for (int i = 0; i < arrOne.length; i++) {
for (int j = 0; j < arrTwo.length; j++) {
if(arrOne[i]==arrTwo[j]){
break;
}else if(j==arrTwo.length-1){
arrTwo[k++]=arrOne[i];
}
}
}
for (int i = 0; i < arrTwo.length; i++) {
if(arrTwo[i]!=null)
System.out.println(arrTwo[i]);
}
}
}
输出结果:
a
d
c
方法二:
public class TaskTwi {
public static void main(String[] args) {
String[] strOne=new String[5];
strOne[0]="a";
strOne[1]="e";
strOne[2]="c";
strOne[3]="c";
strOne[4]="e";
String[] strTwo=new String[5];
int num=0;
for (int i = 0; i < strOne.length; i++) {
boolean pd=true;
for (int j = 0; j < strTwo.length; j++) {
if(strTwo[j]==strOne[i]){
pd=false;
}
}
if(pd){
strTwo[num++]=strOne[i];
}
}
for (int i = 0; i < strTwo.length; i++) {
if(strTwo[i]!=null)
System.out.println(strTwo[i]);
}
}
}
输出结果:
a
e
c
方法三:
[ 有点缺点:就是在原有的位置只是把重复的元素的位置变为null,相当于只是把重复的参数改为null了 ]
public class Task {
public static void main(String[] args) {
String[] arrOne=new String[5];
arrOne[0]="a";
arrOne[1]="d";
arrOne[2]="c";
arrOne[3]="d";
arrOne[4]="d";
int num=arrOne.length;
String[] arrTwo=new String[num];
for (int i = 0; i < arrOne.length; i++) {
arrTwo[i]=arrOne[i];
for (int j = 0; j <i; j++) {
if(arrTwo[i]==arrTwo[j]){
arrTwo[i]=null;
break;
}
}
}
for (int i = 0; i < arrTwo.length; i++) {
if(arrTwo[i]!=null)
System.out.println(arrTwo[i]);
}
}
}
输出结果:
a
d
c