欢迎访问宙启技术站
智能推送

根据条件筛选并排序java函数

发布时间:2023-09-08 12:04:00

在Java中,我们可以使用条件筛选和排序函数来对数据进行筛选和排序。根据要求,下面将介绍如何根据条件筛选和排序Java函数。

条件筛选函数:

1. filter():这个函数可以根据指定的条件筛选出符合条件的元素。例如,我们可以使用filter()函数来筛选出大于10的整数。

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List<Integer> filteredNumbers = numbers.stream()
                            .filter(num -> num > 10)
                            .collect(Collectors.toList());

System.out.println(filteredNumbers);
// 输出: []

上述代码使用了Java 8中的Stream和Lambda表达式来实现筛选功能。

2. Stream的filter():和上述方法类似,我们可以直接使用Stream的filter()函数来筛选出符合条件的元素。例如,筛选出长度大于等于5的字符串。

List<String> names = Arrays.asList("Tom", "Jerry", "Alice", "Bob", "John");
List<String> filteredNames = names.stream()
                            .filter(name -> name.length() >= 5)
                            .collect(Collectors.toList());

System.out.println(filteredNames);
// 输出: [Jerry, Alice]

上述代码中,我们使用Stream的filter()函数和Lambda表达式来筛选出长度大于等于5的字符串。

排序函数:

1. sorted():这个函数可以对数据进行升序排序。例如,对整数列表进行升序排序。

List<Integer> numbers = Arrays.asList(5, 2, 9, 1, 8, 3, 7, 4, 10, 6);
List<Integer> sortedNumbers = numbers.stream()
                            .sorted()
                            .collect(Collectors.toList());

System.out.println(sortedNumbers);
// 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

上述代码中,我们使用了Stream的sorted()函数对整数列表进行升序排序。

2. sorted() + Comparator:如果需要进行自定义的排序规则,可以使用sorted()函数配合Comparator来实现。例如,对字符串列表按照长度进行降序排序。

List<String> names = Arrays.asList("Tom", "Jerry", "Alice", "Bob", "John");
List<String> sortedNames = names.stream()
                            .sorted(Comparator.comparing(String::length).reversed())
                            .collect(Collectors.toList());

System.out.println(sortedNames);
// 输出: [Jerry, Alice, John, Bill, Tom]

上述代码中,我们使用了Stream的sorted()函数和Comparator.comparing()函数来对字符串列表按照长度进行降序排序。

综上所述,我们可以使用filter()函数和sorted()函数对Java中的数据进行条件筛选和排序。通过这些函数,我们可以根据自己的需求灵活地对数据进行处理。