admin 管理员组文章数量: 887609
2024年1月11日发(作者:transitionserver是什么意思)
java8 用法
Java 8中,Arrays类引入了一些方便的排序功能,使得排序变得更加简单、快捷。Java 8的Arrays类提供了三个重载的sort方法,可以用于对数组进行原位排序。这三个方法分别是:public static void sort(byte[] a)、public static void sort(char[] a)和public static
void sort(int[] a)。此外,Java 8中的Arrays类还提供了一个重载方法public static void sort(Object[] a),可以用于将任何对象数组排序。
Java 8的Arrays类中的sort()方法有以下用法:
1. 对基本类型数组的排序 Java 8中,sort方法的第一种用法是对基本类型数组(byte、short、char、int、long、float、double)进行排序。这些基本类型都提供了sort方法的重载,用于对相应基本类型数组进行排序。例如,要对一个int数组进行排序,可以使用以下代码:
int[] arr = { 5, 8, 1, 0, 6 };
(arr);
执行排序后,数组中的元素将被按照升序排列。如果要以降序排列,则可以使用以下代码:
int[] arr = { 5, 8, 1, 0, 6 };
(arr); for (int i = - 1; i >=
0; i--) { (arr[i] + " "); }
2. 对对象数组进行排序 Java 8还提供了一个重载方法,可以用于将任何对象数组排序。这种排序方式需要对象实现Comparable接口,并提供compareTo()方法实现比较。如果compareTo()方法返回一个负数,说明当前对象应该排在排序结果的前面;如果返回一个正数,说明当前对象应该排在排序结果的后面;如果返回0,说明当前对象与另一个对象排名相同。例如以下代码:
public class Person implements
Comparable
private String name; public Person(int id,
String name) { = id;
= name; } public int getId()
{ return id; } public String
getName() { return name; }
@Override public int compareTo(Person o)
{ return - (); } }
在这段代码中,我们定义了一个Person类,它实现了Comparable
要对一个Person数组进行排序,可以使用以下代码:
Person[] persons = { new Person(2, "Tom"), new
Person(1, "Lucy"), new Person(3, "John") };
(persons);
在这个例子中,我们定义了一个Person数组,调用了()方法进行排序。由于Person类实现了Comparable接口,并提供了compareTo()方法,所以可以对Person数组进行排序。执行排序后,数组中的元素将根据id属性进行升序排列。
3. 对数组的部分元素进行排序 如果只需要对数组中的部分元素进行排序,可以使用()方法的一个重载版本,该版本需要指定待排序区间的起始索引和结束索引。例如:
int[] arr = { 5, 8, 1, 0, 6 }; (arr,
1, 4);
这个例子里,我们在对arr数组进行排序时只对下标1到3的元素进行排序(注意,下标从0开始)。执行排序后,arr数组将变为{5, 0, 1, 8, 6}。
4. 对数组进行倒置排序 如果需要对数组进行倒置排序,可以使用()方法的另一个重载版本,该版本需要传入一个Comparator对象作为参数。Comparator对象有两个方法:compare()和reversed()。compare()方法用于比较两个元素的大小。如果需要对数组进行倒置排
序,则应该使用reversed()方法返回一个Comparator对象,该对象用于比较两个元素的逆序大小关系。例如:
int[] arr = { 5, 8, 1, 0, 6 }; (arr,
Comparator.
在这个例子中,我们使用了Comparator.
0}。
版权声明:本文标题:java8 arrays.sort用法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1704964197h468272.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论