📄 arraysorttest.java
字号:
/*
在Java中,所有的数组都有一个缺省的属性length,用于获取数组中元素的个数
数组的复制: System.arraycopy();
数组的排序: Arrays.sort();
在已排序的数组中查找某个元素: Arrays.binarySearch();
*/
import java.util.Arrays;
class ArraySortTest
{
public static void main(String[] args)
{
/*
int[] num = new int[]{3,1,2};
Arrays.sort(num);
for (int i=0;i<num.length;i++)
{
System.out.println(num[i]);
}
int index = Arrays.binarySearch(num,3);
System.out.println("index= "+index);
System.out.println("element="+num[index]);
*/
/*Sort
*public static void sort(Object[] a)
*
* Sorts the specified array of objects into ascending order,according to
*the natural ordering of its elements.All elements in the array must
*implements the Comparable interface.Furthermore,all elements in the
*array must be mutually comparable(that is,e1.compareTo(e2)must not throw
*a ClassCastException for any elements e1 and e2 int the array).
*
*
*
**/
/* 对于自定义的对象数组排序功能实现
*用Arrays.sort(对象数组);时
*必须对使自定义的对象实现Comparable接口
*实现Comparable接口中的compareTo方法
*关于些方法见JDK-API;
* */
Student[] ss =new Student[]{new Student("miracle",20),
new Student("djb",21),
new Student("deng",19),
new Student("ajb",21)};
Arrays.sort(ss);
for (int i=0;i<ss.length;i++)
{
System.out.println(ss[i]);
}
}
}
class Student implements Comparable
{
int num;
String name;
Student(String name,int num)
{
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);
if(0 == result)
{
/* String类中已经实现了Comparable接口中的compareTo方法
*可以直接使用。
**/
result = name.compareTo(s.name);
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -