以String为例:
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class demo3 {
public static void main(String[] args) {
String [] arr ={"WANG","WANG","WANG","wang"} ;
test1(arr);
test2(arr);
test3(arr);
test4(arr);
}
// 通过LIST做去重
public static void test1(String[] arr){
List<String> list= new ArrayList<String>();
for(int i =0 ; i<arr.length; i++){
//因为调用contatins方法时,自动调用了equlas方法
//因此添加后的集合是去重的
if (!list.contains(arr[i])){
list.add(arr[i]);
//排序
Collections.sort(list);
}
}
System.out.println(list);
}
//通过Set做去重
public static void test2(String [] arr ){
Set<String> set = new HashSet();
for (int i= 0; i<arr.length;i++){
//set集合元素不重复
set.add(arr[i]);
}
System.out.println(set);
}
// 通过map去重
public static void test3(String [] arr ){
Map<String,Object> map = new HashMap<>();
for (String str: arr) {
//因为map的key值是唯一的,因擦实现了去重
map.put(str ,str) ;
}
System.out.println(map);
}
//lamdon表达式
public static void test4(String [] arr ){
Stream<String> stream = Arrays.stream(arr);
List<String> list = stream.distinct().collect(Collectors.toList());
System.out.println(list);
}
}
测试结果:
: