当前位置 : 主页 > 编程语言 > java >

Java8-Stream流(中间操作)sorted

来源:互联网 收集:自由互联 发布时间:2022-07-04
1 案例(一) public class SortedDemo { public static void main ( String [] args ) { List Province list = SortedDemo . demo (); System . out . println ( "排序后:" + list ); /** * 排序前[Province(id=1, name=贵州, localCode=1005

1 案例(一)



public class SortedDemo {

public static void main(String[] args) {
List<Province> list=SortedDemo.demo();
System.out.println("排序后:"+list);
/**
* 排序前[Province(id=1, name=贵州, localCode=1005), Province(id=2, name=黑龙江, localCode=1003), Province(id=3, name=安徽, localCode=1002), Province(id=4, name=内蒙古, localCode=1001), Province(id=5, name=云南, localCode=1004)]
* 排序后:[Province(id=4, name=内蒙古, localCode=1001), Province(id=3, name=安徽, localCode=1002), Province(id=2, name=黑龙江, localCode=1003), Province(id=5, name=云南, localCode=1004), Province(id=1, name=贵州, localCode=1005)]
*/
}
public static List<Province> demo(){
List<Province> provinces=new ArrayList<>();
provinces.add(new Province("1","贵州","1005"));
provinces.add(new Province("2","黑龙江","1003"));
provinces.add(new Province("3","安徽","1002"));
provinces.add(new Province("4","内蒙古","1001"));
provinces.add(new Province("5","云南","1004"));
System.out.println("排序前"+provinces);
//根据区号排序
return provinces
.stream()
.sorted(Comparator.comparing(Province::getLocalCode))
.collect(Collectors.toList());
}
}


2 案例(二)

package Stream;

import lombok.*;

import java.util.Objects;

/**
* @Author yqq
* @Date 2021/10/17 16:55
* @Version 1.0
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class Student implements Comparable<Student>{
private String name;
private Integer age;
private Integer score;

@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", score=" + score +
'}';
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return name.equals(student.name) && age.equals(student.age) && score.equals(student.score);
}

@Override
public int hashCode() {
return Objects.hash(name, age, score);
}

@Override
public int compareTo(Student o) {
return -(score - o.score);
}
}public class demo01 {
public static void main(String[] args) {
List<Student> list = new ArrayList<>();
Collections.addAll(list,
new Student("lishi",22,20),
new Student("zhangshan",23,28),
new Student("wanger",24,19),
new Student("mazi",25,29),
new Student("mazi",25,29)
);
// list.stream().sorted().forEach(System.out::println);
//s1-s2:升序 s2-s1:降序
list.stream().sorted((s1,s2) -> s1.getAge()-s2.getAge()).forEach(System.out::println);
}
}

Java8-Stream流(中间操作)sorted_升序


上一篇:Java8 Stream流(最终操作)collect
下一篇:没有了
网友评论