java中的数组(六)

来源:互联网 发布:esp8266 51单片机例程 编辑:程序博客网 时间:2024/04/27 23:49

8、数组的比较

数组的比较可以调用Arrays.equals方法。两个一维数组相等是指数组的元素个数相等,且对应位置元素也相等。equals方法被重载,可以用于所有合法的数据类型数组。但是,它只使用于一维数组,如果用于比较多维数组,只是比较数组的引用,如果要比较两个多维数组,应该调用Arrays.deepEquals方法。

9、数组的排序

数组的排序可以调用方法Arrays.sort,这个方法会将数组的元素从小到大进行排序,该方法被重载,可以用于所有的数据类型数组除了boolean外,如果数组中的元素是对象元素时,程序中必须有比较对象大小的方法。在java语言中,最常用的对象比较大小的方法是自然比较法(natual comparison method).这种方法是通过接口java.lang.comparable实现,使某个类具有比较能力,接口comparable只有一个方法compareTo,该方法有一个类Object参数,当这个参数的值比对象中的值大,就会返回一个负整数,如果这两个数相等,就返回0,当这个参数的值比对象中的值小,该方法就会返回一个正整数。例如:

import java.util.*;


class Person implements Comparable//继承接口
{
private String name;
private int age;


Person(String name,int age)
{
this.name=name;
this.age=age;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
public int compareTo(Object obj)//重载
{
int num=new Integer(age).compareTo(((Person)obj).age);//按年龄进行比较
if(num==0)
return name.compareTo(((Person)obj).name);//按名字比较
return num;
}
public String toString()
{
return name+"......"+age;
}
}
class ComparableTest
{
public static void main(String[] args)
{
Person[] p={new Person("wumantao",20),new Person("zhuangmingjie",22),new Person("mapengliang",19)};
Arrays.sort(p);
System.out.println(Arrays.toString(p));

}

}

结果为:


0 0
原创粉丝点击