针对集合进行去重,去重后会按照去重列排序;如果需要其他列排序,需自己进行排序:
package com.onecard.security.service.riskControl;
import org.junit.Test;
import java.util.*;
import java.util.stream.Collectors;
public class Flow57FingerprintServiceTest {
@Test
public void yourTest(){
List<String> aaa = new ArrayList<>();
aaa.add("a");
aaa.add("b");
aaa.add("c");
aaa.add("d");
aaa.add("e");
aaa.add("a");
aaa.add("c");
aaa.add("e");
// aaa.forEach(System.out::println);
List<String> newAaa = aaa.stream().distinct().collect(Collectors.toList());
System.out.println("======================");
// newAaa.forEach(System.out::println);
BookBo bookBo1 = new BookBo("1", "语文");
BookBo bookBo2 = new BookBo("2", "数学");
BookBo bookBo3 = new BookBo("3", "英语");
BookBo bookBo4 = new BookBo("4", "地理");
BookBo bookBo5 = new BookBo("5", "生物");
BookBo bookBo6 = new BookBo("1", "语文");
BookBo bookBo7 = new BookBo("2", "地理");
List<BookBo> bookBoList = Arrays.asList(bookBo1, bookBo2, bookBo3, bookBo4, bookBo5, bookBo6,bookBo7);
bookBoList.forEach(System.out::println);
System.out.println("------去重--------------------");
List<BookBo> newBookBoList = bookBoList.stream().distinct().collect(Collectors.collectingAndThen(Collectors.toCollection(()->new TreeSet<>(Comparator.comparing(o-> o.value))),
ArrayList::new));
newBookBoList.forEach(System.out::println);
System.out.println("------排序--------------------");
List<BookBo> newSortBookBoList = newBookBoList.stream().sorted(Comparator.comparing(BookBo::getKey)).collect(Collectors.toList());
newSortBookBoList.forEach(System.out::println);
}
class BookBo{
String key;
String value;
BookBo(String key,String value){
this.key = key;
this.value = value;
}
public String getKey(){
return this.key;
}
@Override
public String toString() {
return "{\""+this.key+"\":\""+this.value+"\"}";
}
}
}
输出:
======================
{"1":"语文"}
{"2":"数学"}
{"3":"英语"}
{"4":"地理"}
{"5":"生物"}
{"1":"语文"}
{"2":"地理"}
------去重--------------------
{"4":"地理"}
{"2":"数学"}
{"5":"生物"}
{"3":"英语"}
{"1":"语文"}
------排序--------------------
{"1":"语文"}
{"2":"数学"}
{"3":"英语"}
{"4":"地理"}
{"5":"生物"}
参考链接: