java自带的排序方法sort

来源:互联网 发布:vc udp socket编程 编辑:程序博客网 时间:2024/05/18 13:44
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package com.city.test;

import java.util.Arrays;
import java.util.Comparator;



/**
*
* @author LiuB
*/
public class sortTesty {


//对整数集合进行排序
public void sortIntArray() {
int[] array = new int[] { 8, 5, 9, 0, 6, 3, 4, 7, 2, 1 };
System.out.println("整数排序前");
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
Arrays.sort(array);
System.out.println("整数排序后");
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
}
//对字符串集合进行排序
public void sortStringArray() {
String[] array = new String[] { "a", "c", "e", "d", "b" };
System.out.println("字符串排序前");
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
System.out.println("字符串排序后");
Arrays.sort(array);
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
}
//对对象集合进行排序
public void sortObjectArray() {
Dog o1 = new Dog("dog1", 1);
Dog o2 = new Dog("dog2", 4);
Dog o3 = new Dog("dog3", 5);
Dog o4 = new Dog("dog4", 2);
Dog o5 = new Dog("dog5", 3);
Dog[] dogs = new Dog[] { o1, o2, o3, o4, o5 };
System.out.println("对象排序前");
for (int i = 0; i < dogs.length; i++) {
Dog dog = dogs[i];
System.out.print(dog.getName() + ":" + dog.getWeight()+ " ");
}
System.out.println();
Arrays.sort(dogs, new ByWeightComparator());
System.out.println("对象排序后");
for (int i = 0; i < dogs.length; i++) {
Dog dog = dogs[i];
System.out.print(dog.getName() + ":" + dog.getWeight()+ " ");
}
System.out.println();
}

public static void main(String[] args) {
sortTesty t = new sortTesty();
t.sortIntArray();
t.sortStringArray();
t.sortObjectArray();
}
}

//测试对象Dog
class Dog {
private String name;
private int weight;

public Dog(String name, int weight) {
this.setName(name);
this.weight = weight;
}

public int getWeight() {
return weight;
}

public void setWeight(int weight) {
this.weight = weight;
}

public void setName(String name) {
this.name = name;
}

public String getName() {
return name;
}
}

//比较器,以Dog的重量作为比较的基准
class ByWeightComparator implements Comparator {
public int compare(Dog o1, Dog o2) {
int diff = o1.getWeight() - o2.getWeight();
if (diff > 0)
return 1;
if (diff < 0)
return -1;
else
return 0;
}

public int compare(Object o1, Object o2) {
throw new UnsupportedOperationException("Not supported yet.");
}


}


sort还有更多的方法简单的实现几个供参考

注:::::::::

意:::::::::

一个最简单的实现删除重复元素,然后排序的方法。。。可由此诞生。。。希望看到的可以自己实现一下。。留下代码大家交流

例如对  5,4,7,3,4,1,3,6,2,4,删除重复 元素然后从小到大排序。。看到了的可以试下

原创粉丝点击