a)
这种形式是对一个数复组的所有元素进制行排序,并且是知按从小到大的顺序。道
2.案例
public
class
Test
{
public
static
void
main(String[]
args)
{
int[]
a
=
{9,
8,
7,
2,
3,
4,
1,
0,
6,
5}
Arrays.sort(a)
for(int
i
=
0
i
<
a.length
i
++)
{
System.out.print(a[i]
+
"
")
}
}
}
//运行结果如下:
//0
1
2
3
4
5
6
7
8
9
在排序中,最重要的是自己实现自己的比较的行数,即是implements Comparator实现方法 public int compare(Object o1, Object o2) 最为重要..
举个例子:
package book.arrayset
import java.util.Comparator
/**
* 整数比较器,将整数按降序排列
*/
class MyIntComparator implements Comparator{
/**
* o1比o2大,返回-1;o1比o2小,返回1。
*/
public int compare(Object o1, Object o2) {
int i1 = ((Integer)o1).intValue()
int i2 = ((Integer)o2).intValue()
if (i1 <i2){
return 1
}
if (i1 >i2){
return -1
}
return 0
}
}
//上面的为比较的函数实现,下面真正的添加数据,
//通过调用上面的比较函数实现自定义排序的功能
package book.arrayset
import java.util.ArrayList
import java.util.Collections
import java.util.List
/**
* 对List中的元素排序
*/
public class SortList {
public static void output(List list){
if (list == null){
return
}
for (int i=0i<list.size()i++){
System.out.print(list.get(i).toString() + " ")
}
System.out.println()
}
public static void main(String[] args) {
List list = new ArrayList()
list.add(new Integer(5))
list.add(new Integer(8))
list.add(new Integer(1))
list.add(new Integer(3))
list.add(new Integer(2))
list.add(new Double(3.1))
System.out.println("list开始状态")
SortList.output(list)
//Collections.sort方法将用默认比较器排列list的元素
Collections.sort(list)
System.out.println("list被默认比较器排序后的状态")
SortList.output(list)
//下面将list的元素按降序排列
Collections.sort(list, new MyIntComparator())
System.out.println("list被自定义比较器排序后的状态")
SortList.output(list)
//因此,对于任意自定义类的对象,当保存在集合类容器中后,如果需要对它们进行排序,
//需要自己提供适应于自定义类的比较器,自定义比较器必须实现Comparator接口。
//然后采用Collections.sort(list, comparator)方法对容器进行排序。
}
}