什么是java数组
java是一种面向对象的编程语言,数组是java程序设计中最常用的数据结构之一。数组是一组相同类型的数据组成的集合,通过下标进行访问。在java中,数组是一个对象,它包含了一个固定数量的相同类型的元素。
arrays.sort方法的作用
java提供了arrays类,其sort()方法可以用来对数组进行排序。arrays.sort()方法是一个静态方法,可以对任何类型的数组进行排序。排序是通常的编程问题之一,可以通过排序来使数组中的元素按照一定的规则排列。
sort()方法可以用于对基本类型数据、对象类型数据及其他一些特殊数据的排序。例如,对于基本类型的数组,sort()方法默认的排序规则是按升序排序。对于对象数组,sort()方法依次比较排序的对象的大小并按照升序排列。
arrays.sort方法的使用
sort()方法返回值是void类型,表示它并不返回数组的拷贝,而是在原数组基础上进行原地排序。
下面是一个对整型数组进行排序的例子:
import java.util.arrays;
public class sortdemo {
public static void main(string[] args) {
int[] numbers = { 12, 5, 42, 9, 21 };
arrays.sort(numbers); // 对数组进行排序
for (int i = 0; i < numbers.length; i ) {
system.out.print(numbers[i] " ");
}
}
}
输出结果为:5 9 12 21 42。在这个例子中,我们首先定义了一个整型数组numbers,然后使用sort()对数组进行排序,最后输出排序后的结果。
如果要对对象数组进行排序,我们需要为对象定义比较器(comparator)。比较器是一个接口,其中定义了compareto()方法来比较两个对象的大小。比较器是用来在排序时比较对象之间的大小。例如,下面的例子中定义了一个person类及其比较器:
import java.util.arrays;
import java.util.comparator;
public class person {
public string name;
public int age;
public person(string name, int age) {
this.name = name;
this.age = age;
}
public string tostring() {
return name " " age;
}
// 定义比较器
static class agecomparator implements comparator {
public int compare(person p1, person p2) {
return p1.age - p2.age;
}
}
public static void main(string[] args) {
person[] people = { new person("john", 42), new person("tom", 25), new person("mary", 32) };
arrays.sort(people, new agecomparator()); // 使用agecomparator对people数组排序
for (int i = 0; i < people.length; i ) {
system.out.println(people[i]);
}
}
}
输出结果为:
tom 25
mary 32
john 42
在这个例子中,我们首先定义了一个person类和它的属性name和age,然后定义了agecomparator比较器,用于比较person对象的年龄。最后,我们定义了一个people数组,分别创建了三个person对象,并将这些对象按照年龄排序。
总结
java的arrays类提供了排序方法sort(),能够对数组进行排序。sort()方法可以对基本类型数据、对象类型数据进行排序。如果要对对象数组进行排序,需要为对象定义比较器。compareto()方法用于比较两个对象的大小。arrays.sort()方法可以通过比较器以指定方式对对象进行排序。
本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/javapeixunb3c.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及捕鱼10元起上10元下的版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的捕鱼10元起上10元下的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!