package demo5;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class Demo5 {
/**
* 数组去重
* @author LinBilin
* @param arr 需要去重的数组
* @return 返回数组
*/
@SuppressWarnings("unchecked")
public static <T> T[] arrayRemoveRepectElements(T[] arr){
Set<T> set=new HashSet<T>();
for(T s:arr){
set.add(s);
}
Object[] strResult=set.toArray();
return (T[]) strResult;
}
/**
* 数组去重
* @author LinBilin
* @param arr 需要去重的数组
* @param ignoreCase true表示忽略大小写,false表示不忽略大小写
* @param isSort true表示去重后排序,false表示去重后不排序
* @return 返回数组
*/
@SuppressWarnings("unchecked")
public static <T> T[] arrayRemoveRepectElements(T[] arr,boolean ignoreCase,boolean isSort){
Set<T> set=new HashSet<T>();
for(T s:arr){
if(ignoreCase){
set.add((T) s.toString().toLowerCase());
}else{
set.add(s);
}
}
Object[] strResult=set.toArray();
if(isSort){
Arrays.sort(strResult);
}
return (T[]) strResult;
}
/**
* 打印
* @param arr
*/
public static void display(Object[] arr){
System.out.println(Arrays.toString(arr));
}
public static void main(String[] args) {
String[] str={"aa","ab","bb","cc","aa","dd","Dd"};
Integer[] intArr={1,2,3,4,4,5,3,3};
Double[] dArr={1.3,2.5,2.5,3.5,5.8,7.7};
Character[] charArr={'a','b','c','c','1','a'};
display(arrayRemoveRepectElements(intArr));
display(arrayRemoveRepectElements(dArr));
display(arrayRemoveRepectElements(charArr));
display(arrayRemoveRepectElements(str,true,true));
}
}
Java数组去重
最新推荐文章于 2024-07-22 15:59:43 发布