大漠驼铃

置身浩瀚的沙漠,方向最为重要,希望此blog能向大漠驼铃一样,给我方向和指引。
Java,Php,Shell,Python,服务器运维,大数据,SEO, 网站开发、运维,云服务技术支持,IM服务供应商, FreeSwitch搭建,技术支持等. 技术讨论QQ群:428622099
随笔 - 238, 文章 - 3, 评论 - 117, 引用 - 0
数据加载中……

Arrays.sort用法



package test;

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

public class ArraySortDemo {
/**
* 整数型数组排序
*/
public void sortIntArray() {
   
int[] arrayToSort = new int[] { 4858980812345162 };
   System.out.println(
"整数型数组排序,排序前:");
   
for (int i = 0; i < arrayToSort.length; i++){
    System.out.print(arrayToSort[i]
+",");
   }
   
// 调用数组的静态排序方法sort
  Arrays.sort(arrayToSort);
   System.out.println();
   System.out.println(
"排序后:");
   
for (int i = 0; i < arrayToSort.length; i++){
    System.out.print(arrayToSort[i]
+",");
   }
}

/**
* 字符型数组排序demo
*/
public void sortStringArray() {
   String[] arrayToSort 
= new String[] { "Oscar""Charlie""Ryan",
     
"Adam""David","aff","Aff" };
   System.out.println();
   System.out.println(
"字符型数组排序,排序前:");
   
for (int i = 0; i < arrayToSort.length; i++){
    System.out.print(arrayToSort[i]
+",");
   }
   System.out.println();
   System.out.println(
"排序后:");
   
// 调用数组的静态排序方法sort
   Arrays.sort(arrayToSort);

   
for (int i = 0; i < arrayToSort.length; i++){
    System.out.print(arrayToSort[i]
+",");
   }
}

/**
* 对象数组排序demo
*/
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();
   System.out.println(
"对象数组排序排序前:");
   
for (int i = 0; i < dogs.length; i++) {
    Dog dog 
= dogs[i];
    System.out.print(dog.getName()
+"["+dog.getWeight()+"],");
   }
   Arrays.sort(dogs, 
new ByWeightComparator());
   System.out.println();
   System.out.println(
"排序后:");
   
for (int i = 0; i < dogs.length; i++) {
    Dog dog 
= dogs[i];
    System.out.print(dog.getName()
+"["+dog.getWeight()+"],");
   }
}

public static void main(String[] args) {
   ArraySortDemo t 
= new ArraySortDemo();
   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;
}
}

/**
* 因为要对对象进行排序,所以要实现java.util.Comparator接口的compare(T o1, T o2)方法,在该方法中自定义排序算法。
*/
class ByWeightComparator implements Comparator {
public final int compare(Object pFirst, Object pSecond) {
   
int aFirstWeight = ((Dog) pFirst).getWeight();
   
int aSecondWeight = ((Dog) pSecond).getWeight();
   
int diff = aFirstWeight - aSecondWeight;
   
if (diff > 0)
    
return 1;
   
if (diff < 0)
    
return -1;
   
else
    
return 0;
}
}

运行结果:

整数型数组排序,排序前:
48,5,89,80,81,23,45,16,2,
排序后:
2,5,16,23,45,48,80,81,89,
字符型数组排序,排序前:
Oscar,Charlie,Ryan,Adam,David,aff,Aff,
排序后:
Adam,Aff,Charlie,David,Oscar,Ryan,aff,
对象数组排序排序前:
dog1[
1],dog2[4],dog3[5],dog4[2],dog5[3],
排序后:
dog1[
1],dog4[2],dog5[3],dog2[4],dog3[5],
地方
List list = new ArrayList() ;
list.add(
"abcd") ;
list.add(
"abdc") ;
list.add(
"aadf") ;
list.add(
"aabf") ;
/*将list转为数组*/
String[] strs 
= new String[list.size()] ;
list.toArray(strs) ;
/*排序,只排2<=索引<4之间的数据*/
Arrays.sort(strs,
2,4) ;
for(String str : strs){
System.out.println(str) ;
}

posted on 2009-10-31 22:21 草原上的骆驼 阅读(2602) 评论(0)  编辑  收藏 所属分类: JAVA基础知识


只有注册用户登录后才能发表评论。


网站导航: