做营销型网站的企业,做网页前端需要学什么,上海企业公示,属于网页制作平台的是?sort是java.util.List接口的默认方法。
List的排序方法在Java 8中被引入。
排序方法接受比较器作为参数#xff0c;并根据指定的比较器对这个列表进行排序。 default void sort(Comparator? super E c)
示例代码#xff1a;
import java.text.Collator;
import …sort是java.util.List接口的默认方法。
List的排序方法在Java 8中被引入。
排序方法接受比较器作为参数并根据指定的比较器对这个列表进行排序。 default void sort(Comparator? super E c)
示例代码
import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Locale;public class ListSort {private static Student zs new Student(张三, 38, 156****6549);private static Student ls new Student(李四, 28, 138****4267);private static Student ww new Student(王五, 20, 186****7391);private static Student zs2 new Student(张三, 26, 172****6549);private static Student ww2 new Student(王五, null, 196****7391);public static void main(String[] args) {ListStudent studentList Arrays.asList(zs, ls, ww, zs2, ww2);Collator collator Collator.getInstance(Locale.CHINA);// 按照姓名排序ComparatorStudent nameComparator Comparator.comparing(Student::getName, collator);// 正序studentList.sort(nameComparator);// 倒序studentList.sort(nameComparator.reversed());System.out.println(************姓名****************);studentList.forEach(System.out::println);// 年龄排序(空值最前)studentList.sort(Comparator.comparing(Student::getAge, Comparator.nullsFirst(Integer::compareTo)));System.out.println(************年龄****************);studentList.forEach(System.out::println);// 手机号前三位排序studentList.sort(Comparator.comparing(student - student.getPhoneNum().substring(0, 3)));System.out.println(************手机号****************);studentList.forEach(System.out::println);// 多字段排序(按姓名再按年龄)studentList.sort(Comparator.comparing(Student::getName, collator).thenComparing(Student::getAge, Comparator.nullsLast(Comparator.naturalOrder())));System.out.println(************多字段****************);studentList.forEach(System.out::println);}public static class Student {/*** 姓名*/private String name;/*** 年龄*/private Integer age;/*** 手机号*/private String phoneNum;public Student(String name, Integer age, String phoneNum) {this.name name;this.age age;this.phoneNum phoneNum;}public String getName() {return name;}public void setName(String name) {this.name name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;}public String getPhoneNum() {return phoneNum;}public void setPhoneNum(String phoneNum) {this.phoneNum phoneNum;}Overridepublic String toString() {return Student{ name name \ , age age , phoneNum phoneNum \ };}}}
排序结果
************姓名****************
Student{name张三, age38, phoneNum156****6549}
Student{name张三, age26, phoneNum172****6549}
Student{name王五, age20, phoneNum186****7391}
Student{name王五, agenull, phoneNum196****7391}
Student{name李四, age28, phoneNum138****4267}
************年龄****************
Student{name王五, agenull, phoneNum196****7391}
Student{name王五, age20, phoneNum186****7391}
Student{name张三, age26, phoneNum172****6549}
Student{name李四, age28, phoneNum138****4267}
Student{name张三, age38, phoneNum156****6549}
************手机号****************
Student{name李四, age28, phoneNum138****4267}
Student{name张三, age38, phoneNum156****6549}
Student{name张三, age26, phoneNum172****6549}
Student{name王五, age20, phoneNum186****7391}
Student{name王五, agenull, phoneNum196****7391}
************多字段****************
Student{name李四, age28, phoneNum138****4267}
Student{name王五, age20, phoneNum186****7391}
Student{name王五, agenull, phoneNum196****7391}
Student{name张三, age26, phoneNum172****6549}
Student{name张三, age38, phoneNum156****6549}