Java8如何对Stream进行排序操作呢?

Java-教程王 Java教程 发布时间:2021-08-27 10:54:18 阅读数:13689 1
下文讲述Java8中对Stream进行排序操作的方法分享,如下所示:
实现思路:
    使用sorted()即可实现对Stream进行排序操作
如:
  sorted(): 产生一个新流,按自然顺序排序
  sorted(Comparator comp): 产生一个新流,使用比较器顺序进行排序操作 
例: 新建一个User集合
list<User> users = Arrays.asList(
       new User("user-1",8),
	   new User("user-3",18),
	   new User("user-2",11),
	   new User("user-5",17),
	   new User("user-4",6)
    );

sorted()排序

@Test
public void test2(){
    users.stream()
        .map(User::getName)
        .sorted()
        .forEach(System.out::println);
}
使用名字进行排序,将输出以下信息:
user-1
user-2
user-3
user-4
user-5
sorted示例
例:
package com.java265;

import java.util.Arrays;
import java.util.List;

public class testMain {

	/*
	 * java265.com Sorted示例
	 */
	public static void main(String[] args) {

		List<User> t = Arrays.asList(new User("user-1", 8), new User("user-3", 18), new User("user-2", 11),
				new User("user-5", 17), new User("user-4", 6));
		t.stream().map(User::getName).sorted().forEach(System.out::println);

		System.out.println("============================");

		/* 根据年龄排序 */
		t.stream().sorted((x, y) -> Integer.compare(x.getAge(), y.getAge()))
				.forEach((y) -> System.out.println(y.getName() + "--" + "age:" + y.getAge()));

	}
}

class User {
	private String name;
	private Integer age;

	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 User(String name, Integer age) {

		this.name = name;
		this.age = age;
	}

	public User() {

	}
}
--------运行以上代码,将输出以下信息-----
user-1
user-2
user-3
user-4
user-5
============================
user-4--age:6
user-1--age:8
user-2--age:11
user-5--age:17
user-3--age:18
stream sorted示例分享
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202108/874.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者