java自带的排序方法sort
2011-11-13 12:36
357 查看
/*
* 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,删除重复 元素然后从小到大排序。。看到了的可以试下
* 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,删除重复 元素然后从小到大排序。。看到了的可以试下
相关文章推荐
- java自带的sort方法实现文件内字符的排序
- java自带的sort方法实现文件内字符的排序
- java编程实现对10个整型数据元素输出最小的两个数,java自带的Arrays.sort排序方法,小--->大
- 用Java集合中的Collections.sort方法对list排序的两种方法
- java Collections.sort()实现List排序的默认方法和自定义方法
- Java中应用Collections工具类的Sort()方法对List进行排序
- java Collections.sort()实现List排序的默认方法和自定义方法
- JDK1.7和1.8中List集合中sort方法排序问题【JAVA】
- 用Java集合中的Collections.sort方法对list排序的两种方法
- Java排序方法sort用法详解
- 用Java集合中的Collections.sort方法对list排序的两种方法
- java中自带排序方法以及数组和list的相互转换
- 用Java集合中的Collections.sort方法如何对list排序(两种方法)
- java中数组排序arrays.sort方法应用
- java Collections.sort()实现List排序的默认方法和自定义方法
- 用Java集合中的Collections.sort方法对list排序的两种方法
- java Collections.sort()实现List排序的默认方法和自定义方法
- 用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: [java] view plain copy /** * 根据ord
- Java数组练习(五)用sort()方法排序
- Java排序方法sort的使用详解