本文概述
- Java Stream接口
- Java Stream.sorted(比较器比较器)
- Java Comparator.reverseOrder()方法
- Java Comparator.naturalOrder()
- Java Collections.reverseOrder()方法
- Java Collections.sort()方法
- 使用stream.sorted()方法
- 使用Comparator.reverseOrder()方法
- 使用Comparator.naturalOrder()方法
- 使用Collections.reverseOrder()方法
- 使用Collections.sort()方法
sorted()方法
流接口提供了sorted()方法来对列表进行排序。它在java.util包中存在的Stream接口中定义。它返回根据自然顺序排序的流。如果元素不可比较, 则抛出java.lang.ClassCastException。该方法的签名是:
Stream<
T>
sorted()
参数
T:这是一种流元素。
Java Stream.sorted(比较器比较器) 它还返回根据提供的比较器排序的流。它对于有序流是稳定的。该方法的签名是:
Stream<
T>
sorted(Comparator<
? Super T>
comparator)
参量
- T是流元素的类型。
- 用于比较元素的比较器
在以下示例中, 我们使用了以下方法:
- 在Java 8中, stream()是用于处理对象集合的API。
- collect()方法用于从流中接收元素并将其存储在集合中。
- toList()返回收集器, 该收集器将所有输入元素按遇到顺序收集到一个列表中。
import java.util.*;
import java.util.stream.*;
public class SortListExample1{public static void main(String[] args) {//returns a list view List<
String>
slist = Arrays.asList("Tanu", "Kamal", "Suman", "Lucky", "Bunty", "Amit");
List<
String>
sortedList = slist.stream().sorted().collect(Collectors.toList());
sortedList.forEach(System.out::println);
}}
输出:
文章图片
Java Comparator.reverseOrder()方法 reverseOrder()是在java.util包中定义的Comparator接口的方法。该方法返回一个强加自然顺序相反的比较器。比较null时, 它将引发NullPointerException。方法签名为:
static <
T extends Comparable<
? T>
>
Comparator<
T>
reverseOrder()
同样也是一个属于java.lang包的接口。
参量
T:要比较的元素的可比较类型。
例
import java.util.*;
import java.util.stream.Collectors;
public class SortListExample2{public static void main(String[] args){//returns a list view List<
String>
slist = Arrays.asList("78", "a", "m", "b", "z", "c", "12", "l", "1");
List<
String>
sortedList=slist.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
sortedList.forEach(System.out::println);
}}
输出:
文章图片
Java Comparator.naturalOrder() 该方法返回一个比较器, 该比较器以自然顺序比较Comparable对象。返回的可比对象是可序列化的。当我们比较null时, 它将引发NullPointerException。它来自Java8。该方法的签名为:
Static <
T extends Comparable <
? super T>
>
Comparator<
T>
naturalOrder()
- 该方法以自然顺序(升序)对元素进行排序。
- 如果有的话, 它将放在顶部。
- 如果列表中同时包含小写和大写字母, 则将大写字母元素按自然顺序放在第一位, 然后按小写字母排列。
T:要比较的元素的可比较类型。
例
import java.util.*;
public class SortListExample3{public static void main(String[] args) {List<
String>
country = Arrays.asList("Russia", "India", "China", "Japan", "", "Ghana");
List<
String>
country1 = Arrays.asList("Russia", "india", "China", "Japan", "", "ghana");
System.out.println(country);
//prints the same list as we definecountry.sort(String.CASE_INSENSITIVE_ORDER);
//sorts the list in case insensitive orderSystem.out.println(country1);
country.sort(Comparator.naturalOrder());
//sorts list in ascending orderSystem.out.println(country);
//sorts list in ascending order (null, capital letter and small letter)country1.sort(Comparator.naturalOrder());
System.out.println(country1);
}}
输出:
文章图片
Java Collections.reverseOrder()方法 它是属于Java.lang包的Java Collections类的方法。它返回一个强加自然顺序相反的比较器。该方法的签名是:
public static <
T>
Comparator<
T>
reverseOrder()
参量
比较器比较的对象的类别。
例
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class SortListExample4{public static void main(String args[]) {List<
Integer>
list = Arrays.asList(10, 1, -20, 40, 5, -23, 0);
Collections.sort(list, Collections.reverseOrder());
System.out.println(list);
}}
输出:
文章图片
Java Collections.sort()方法 Collections类有两种对列表进行排序的方法:
sort()方法
sort()方法根据元素的自然顺序对列表进行升序排序。该方法的签名是:
public static <
T extends Comparable<
? Super T>
>
void sort() (List<
T>
list)
【如何在Java中对列表进行排序】参量
T:这是一个类型参数。
list:要排序的列表。
让我们看看Collections.sorts()方法的另一个示例。
例
import java.util.*;
public class SortListExample5{public static void main(String[] args) {List<
String>
sList = new ArrayList<
String>
();
sList.add("m");
sList.add("k");
sList.add("a");
sList.add("p");
sList.add("d");
Collections.sort(sList);
//sorts array listfor(String str: sList) System.out.print(" "+str);
}}
输出:
文章图片
推荐阅读
- 如何在Java中对HashMap进行排序
- 本图文详细教程详细说明win7如何设置wifi热点
- 为你回答win7如何清洗打印机
- 技术编辑教您win7如何设置透明主题
- 告诉你WIN7字体含糊怎样处理
- 本文教你怎样设置共享网络打印机
- 为你回答win7怎样更改桌面背景
- 本图文详细教程详细说明如何运用格式化命令format
- 技术编辑教您win7 sp1补丁安装失败怎样办