摘要:本文主要向大家介绍了JAVA语言之JDK8的排序方法(代码教程),通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
本文主要向大家介绍了JAVA语言之JDK8的排序方法(代码教程),通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
public class Main {
public static void main(String[] args) throws Exception{
testJDK8_sort();
}
private static List<User> initList() {
List<User> list = new ArrayList<>();
list.add(new User("lisa", 23));
list.add(new User("tom", 11));
list.add(new User("john", 16));
list.add(new User("jennis", 26));
list.add(new User("tin", 26));
list.add(new User("army", 26));
list.add(new User("mack", 19));
list.add(new User("jobs", 65));
return list;
}
private static void testJDK8_sort() {
List<User> list = initList();
// jdk8之前的排序
//test1(list);
// jdk8 lambda排序,带参数类型
//test2();
// jdk8 lambda排序,不带参数类型
//test3();
// jdk8 排序,User类静态方法引用
//test4();
// jdk8 升序排序,Comparator提供的静态方法
//test5();
// jdk8 降序排序,Comparator提供的静态方法
//test6();
// jdk8 组合排序,Comparator提供的静态方法,先按年纪排序,年纪相同的按名称排序
test7();
}
private static void test7() {
List<User> list;
list = initList();
Collections.sort(list, Comparator.comparing(User::getAge).thenComparing(User::getName).reversed());
list.forEach(System.out::println);
}
private static void test6() {
List<User> list;
list = initList();
Collections.sort(list, Comparator.comparing(User::getAge).reversed());
list.forEach(System.out::println);
System.out.println();
}
private static void test5() {
List<User> list;
list = initList();
Collections.sort(list, Comparator.comparing(User::getAge));
list.forEach(System.out::println);
System.out.println();
}
private static void test4() {
// List<User> list;
// list = initList();
// list.sort(User::compareAge);
// list.forEach(System.out::println);
System.out.println();
}
private static void test3() {
List<User> list;
list = initList();
list.sort((a1, a2) -> a1.getAge().compareTo(a2.getAge()));
list.forEach(System.out::println);
System.out.println();
}
private static void test2() {
List<User> list;
list = initList();
list.sort((User u1, User u2) -> u1.getAge().compareTo(u2.getAge()));
//list.forEach(System.out::println);
list.forEach(System.out::println);
System.out.println();
}
private static void test1(List<User> list) {
Collections.sort(list, new Comparator<User>() {
@Override
public int compare(User o1, User o2) {
return o1.getAge().compareTo(o2.getAge());
}
});
System.out.println(list);
}
}
User.java:
/**
* Created by Administrator on 2018/5/23.
*/
public class User {
private String name ;
private Integer age ;
public User(String name, Integer age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
&
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号