packagecom.zhangpengfei.demo;importorg.assertj.core.util.Lists;import java.util.*;import java.util.function.*;importjava.util.stream.Collectors;#zs#** ClassName:
* date: 2020/9/15 10:24
*
*@authorzhangpengfei
*@sinceJDK 1.8#fzs#
public classTest {public static voidmain(String[] args) {
Student s1= newStudent();
s1.setNo(1);
s1.setName("张三");
s1.setAge(18);
s1.setAddress("北京");
Student s2= newStudent();
s2.setNo(2);
s2.setName("李四");
s2.setAge(14);
s2.setAddress("上海");
Student s3= newStudent();
s3.setNo(4);
s3.setName("王五");
s3.setAge(17);
s3.setAddress("深圳");
Student s4= newStudent();
s4.setNo(3);
s4.setName("赵六");
s4.setAge(17);
s4.setAddress("广州");
List list = new ArrayList<>();
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
List collect1 =list.stream()
.sorted(Comparator.comparing(Student::getAge).thenComparing(Student::getNo))
.collect(Collectors.toList());
System.out.println("正序:" +collect1);
System.out.println("============================");
List collect2 =list.stream().sorted(Comparator.comparing(Student::getAge).reversed()).collect(Collectors.toList());
System.out.println("倒序:" +collect2);
System.out.println("============================");
}
}classStudent {private intNo;privateString name;private intage;privateString address;public intgetNo() {returnNo;
}public void setNo(intno) {
No=no;
}publicString getName() {returnname;
}public voidsetName(String name) {this.name =name;
}public intgetAge() {returnage;
}public void setAge(intage) {this.age =age;
}publicString getAddress() {returnaddress;
}public voidsetAddress(String address) {this.address =address;
}
@OverridepublicString toString() {return "Student{" +
"No=" + No +
", name='" + name + ''' +
", age=" + age +
", address='" + address + ''' +
'}';
}
}
输出结果:
D:Javajdk1.8.0_172binjava.exe -javaagent:E:IDEAlibidea_rt.jar=54551:E:IDEAbin -Dfile.encoding=UTF-8 -classpath D:Javajdk1.8.0_172jrelibcharsets.jar;D:Javajdk1.8.0_172jrelibdeploy.jar;D:Javajdk1.8.0_172jrelibextaccess-bridge-32.jar;D:Javajdk1.8.0_172jrelibextcldrdata.jar;D:Javajdk1.8.0_172jrelibextdnsns.jar;D:Javajdk1.8.0_172jrelibextjaccess.jar;D:Javajdk1.8.0_172jrelibextjfxrt.jar;D:Javajdk1.8.0_172jrelibextlocaledata.jar;D:Javajdk1.8.0_172jrelibextnashorn.jar;D:Javajdk1.8.0_172jrelibextsunec.jar;D:Javajdk1.8.0_172jrelibextsunjce_provider.jar;D:Javajdk1.8.0_172jrelibextsunmscapi.jar;D:Javajdk1.8.0_172jrelibextsunpkcs11.jar;D:Javajdk1.8.0_172jrelibextzipfs.jar;D:Javajdk1.8.0_172jrelibjavaws.jar;D:Javajdk1.8.0_172jrelibjce.jar;D:Javajdk1.8.0_172jrelibjfr.jar;D:Javajdk1.8.0_172jrelibjfxswt.jar;D:Javajdk1.8.0_172jrelibjsse.jar;D:Javajdk1.8.0_172jrelibmanagement-agent.jar;D:Javajdk1.8.0_172jrelibplugin.jar;D:Javajdk1.8.0_172jrelibresources.jar;D:Javajdk1.8.0_172jrelibrt.jar;D:IdeaProjectszhangpengfeitargetclasses;D:MavenRepositoryorgspringframeworkbootspring-boot-starter2.3.3.RELEASEspring-boot-starter-2.3.3.RELEASE.jar;D:MavenRepositoryorgspringframeworkbootspring-boot2.3.3.RELEASEspring-boot-2.3.3.RELEASE.jar;D:MavenRepositoryorgspringframeworkspring-context5.2.8.RELEASEspring-context-5.2.8.RELEASE.jar;D:MavenRepositoryorgspringframeworkbootspring-boot-autoconfigure2.3.3.RELEASEspring-boot-autoconfigure-2.3.3.RELEASE.jar;D:MavenRepositoryorgspringframeworkbootspring-boot-starter-logging2.3.3.RELEASEspring-boot-starter-logging-2.3.3.RELEASE.jar;D:MavenRepositorychqoslogbacklogback-classic1.2.3logback-classic-1.2.3.jar;D:MavenRepositorychqoslogbacklogback-core1.2.3logback-core-1.2.3.jar;D:MavenRepositoryorgapachelogginglog4jlog4j-to-slf4j2.13.3log4j-to-slf4j-2.13.3.jar;D:MavenRepositoryorgapachelogginglog4jlog4j-api2.13.3log4j-api-2.13.3.jar;D:MavenRepositoryorgslf4jjul-to-slf4j1.7.30jul-to-slf4j-1.7.30.jar;D:MavenRepositoryjakartaannotationjakarta.annotation-api1.3.5jakarta.annotation-api-1.3.5.jar;D:MavenRepositoryorgspringframeworkspring-core5.2.8.RELEASEspring-core-5.2.8.RELEASE.jar;D:MavenRepositoryorgspringframeworkspring-jcl5.2.8.RELEASEspring-jcl-5.2.8.RELEASE.jar;D:MavenRepositoryorgyamlsnakeyaml1.26snakeyaml-1.26.jar;D:MavenRepositoryorgspringframeworkbootspring-boot-starter-web2.3.3.RELEASEspring-boot-starter-web-2.3.3.RELEASE.jar;D:MavenRepositoryorgspringframeworkbootspring-boot-starter-json2.3.3.RELEASEspring-boot-starter-json-2.3.3.RELEASE.jar;D:MavenRepositorycomfasterxmljacksoncorejackson-databind2.11.2jackson-databind-2.11.2.jar;D:MavenRepositorycomfasterxmljacksondatatypejackson-datatype-jdk82.11.2jackson-datatype-jdk8-2.11.2.jar;D:MavenRepositorycomfasterxmljacksondatatypejackson-datatype-jsr3102.11.2jackson-datatype-jsr310-2.11.2.jar;D:MavenRepositorycomfasterxmljacksonmodulejackson-module-parameter-names2.11.2jackson-module-parameter-names-2.11.2.jar;D:MavenRepositoryorgspringframeworkbootspring-boot-starter-tomcat2.3.3.RELEASEspring-boot-starter-tomcat-2.3.3.RELEASE.jar;D:MavenRepositoryorgapachetomcatembedtomcat-embed-core9.0.37tomcat-embed-core-9.0.37.jar;D:MavenRepositoryorgglassfishjakarta.el3.0.3jakarta.el-3.0.3.jar;D:MavenRepositoryorgapachetomcatembedtomcat-embed-websocket9.0.37tomcat-embed-websocket-9.0.37.jar;D:MavenRepositoryorgspringframeworkspring-web5.2.8.RELEASEspring-web-5.2.8.RELEASE.jar;D:MavenRepositoryorgspringframeworkspring-beans5.2.8.RELEASEspring-beans-5.2.8.RELEASE.jar;D:MavenRepositoryorgspringframeworkspring-webmvc5.2.8.RELEASEspring-webmvc-5.2.8.RELEASE.jar;D:MavenRepositoryorgspringframeworkspring-aop5.2.8.RELEASEspring-aop-5.2.8.RELEASE.jar;D:MavenRepositoryorgspringframeworkspring-expression5.2.8.RELEASEspring-expression-5.2.8.RELEASE.jar;D:MavenRepositoryorgassertjassertj-core3.16.1assertj-core-3.16.1.jar;D:MavenRepositorycomalibabafastjson1.2.70fastjson-1.2.70.jar;D:MavenRepositorycomnetflixribbonribbon-httpclient2.2.0ribbon-httpclient-2.2.0.jar;D:MavenRepositorycomnetflixribbonribbon-core2.2.0ribbon-core-2.2.0.jar;D:MavenRepositorycommons-configurationcommons-configuration1.8commons-configuration-1.8.jar;D:MavenRepositorycommons-loggingcommons-logging1.1.1commons-logging-1.1.1.jar;D:MavenRepositorycommons-langcommons-lang2.6commons-lang-2.6.jar;D:MavenRepositorycomnetflixribbonribbon-loadbalancer2.2.0ribbon-loadbalancer-2.2.0.jar;D:MavenRepositorycomnetflixnetflix-commonsnetflix-statistics .1.1netflix-statistics-0.1.1.jar;D:MavenRepositorycommons-collectionscommons-collections3.2.1commons-collections-3.2.1.jar;D:MavenRepositoryorgapachehttpcomponentshttpclient4.5.12httpclient-4.5.12.jar;D:MavenRepositoryorgapachehttpcomponentshttpcore4.4.13httpcore-4.4.13.jar;D:MavenRepositorycommons-codeccommons-codec1.14commons-codec-1.14.jar;D:MavenRepositorycomgooglecodefindbugsannotations2.0.0annotations-2.0.0.jar;D:MavenRepositorycomsunjerseyjersey-client1.19.1jersey-client-1.19.1.jar;D:MavenRepositorycomsunjerseyjersey-core1.19.1jersey-core-1.19.1.jar;D:MavenRepositoryjavaxwsrsjsr311-api1.1.1jsr311-api-1.1.1.jar;D:MavenRepositorycomsunjerseycontribsjersey-apache-client41.19.1jersey-apache-client4-1.19.1.jar;D:MavenRepositoryorgslf4jslf4j-api1.7.30slf4j-api-1.7.30.jar;D:MavenRepositorycomnetflixservoservo-core .10.1servo-core-0.10.1.jar;D:MavenRepositorycomnetflixservoservo-internal .10.1servo-internal-0.10.1.jar;D:MavenRepositorycomgoogleguavaguava16.0.1guava-16.0.1.jar;D:MavenRepositorycomnetflixarchaiusarchaius-core .7.4archaius-core-0.7.4.jar;D:MavenRepositorycomgooglecodefindbugsjsr3053.0.1jsr305-3.0.1.jar;D:MavenRepositorycomfasterxmljacksoncorejackson-annotations2.11.2jackson-annotations-2.11.2.jar;D:MavenRepositorycomfasterxmljacksoncorejackson-core2.11.2jackson-core-2.11.2.jar;D:MavenRepositorycomnetflixnetflix-commonsnetflix-commons-util .1.1netflix-commons-util-0.1.1.jar;D:MavenRepositorycomnetflixhystrixhystrix-core1.5.12hystrix-core-1.5.12.jar;D:MavenRepositoryioreactivexrxjava1.3.8rxjava-1.3.8.jar;D:MavenRepositoryorghdrhistogramHdrHistogram2.1.9HdrHistogram-2.1.9.jar com.zhangpengfei.demo.bokeyuan.BoKeYuan
[Student{No=2, name='李四', age=14, address='上海'}, Student{No=3, name='赵六', age=17, address='广州'}, Student{No=4, name='王五', age=17, address='深圳'}, Student{No=1, name='张三', age=18, address='北京'}]============================[Student{No=1, name='张三', age=18, address='北京'}, Student{No=4, name='王五', age=17, address='深圳'}, Student{No=3, name='赵六', age=17, address='广州'}, Student{No=2, name='李四', age=14, address='上海'}]============================Process finished with exit code0