在Java中,所有的数组都有一个缺省的属性length,用于获取数组中元素的个数。
数组的复制:System.arraycopy()。
数组的排序:Arrays.sort()。
在已排序的数组中查找某个元素:Arrays.binarySearch()。
import java.util.Arrays;/
Student[] ss=new Student[]{new Student(1,"zhangsan"),
new Student(2,"lisi"),
new Student(3,"wangwu"),
new Student(3,"mybole")};
Arrays.sort(ss);//排序,自定义类型的数组要先实现Comparable接口(lang包中)
for(int i=0;i<ss.length;i++)
{
System.out.println(ss[i]);
}
int index = Arrays.binarySearch(ss, new Student(2, "lisi"));
//搜索自定义类数组,条件是在已经排好序的数组中查找
System.out.println("index="+index);
System.out.println(ss[index]);
}
}
class Student implements Comparable//**********************实现Comparable接口
{
int num;
String name;
Student(int num,String name)
{
this.num=num;
this.name=name;
}
public String toString()
{
return "number="+num+","+"name="+name;
}
public int compareTo(Object o)//************************自定义类的排序
{
Student s=(Student)o;
//return num>s.num ? 1 : (num==s.num ? 0 : -1);
int result=num>s.num ? 1 : (num==s.num ? 0 : -1);//********************双重排序先num后name
if(0==result)
{
result=name.compareTo(s.name);//利用String类中的方法比较
}
return result;
}
}
class Point
{
int x,y;
Point(int x,int y)
{
this.x=x;
this.y=y;
}
}