import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
public class Array_to_unique {
/**
* @param args
*/
public static void main(String[] args) {
String[] string = new String[] { "a", "b", "c", "a", "d", "c" };
String[] nString = array_unique(string);
for (int i = 0; i < nString.length; i++) {
System.out.print(nString[i] + " ");
}
System.out.println();
String[] nString2 = array_unique2(string);
for (int i = 0; i < nString2.length; i++) {
System.out.print(nString2[i] + " ");
}
System.out.println();
//去掉两个数组index2中和index1重复的值
Integer[] index1 = {0,3,2};
Integer[] index2= {0,1,2,3,4,5};
List<Integer> list2 = new ArrayList<Integer>(Arrays.asList(index2));//把index2转换成list
for(Integer i : index1){
if(list2.contains(i))//如果list2中存在index1中的元素就去掉这个元素
list2.remove(i);
}
System.out.println(list2);
}
//通过LinkedList去重
public static String[] array_unique(String[] a) {
// array_unique
List<String> list = new LinkedList<String>();
for (int i = 0; i < a.length; i++) {
if (!list.contains(a[i])) {
list.add(a[i]);
}
}
return list.toArray(new String[list.size()]);
}
//通过hashSet更简洁
public static String[] array_unique2(String[] a) {
Set<String> set = new HashSet<String>();
set.addAll(Arrays.asList(a));
return set.toArray(new String[0]);
}
}
数组去重
最新推荐文章于 2022-07-01 12:52:01 发布