package test;
import java.util.Arrays;
import java.util.Comparator;
public class ArraySortDemo {
/**
* 整数型数组排序
*/
public void sortIntArray() {
int[] arrayToSort = new int[] { 48, 5, 89, 80, 81, 23, 45, 16, 2 };
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) ;
}
分享到:
相关推荐
白色大气风格的商务团队公司模板下载.zip
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于计算机科学与技术等相关专业,更为适合;
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于计算机科学与技术等相关专业,更为适合;
白色大气风格的手机电脑商城模板下载.zip
SecureCRT_9.6.0__mac
海康4117 Litermal 小李电子实验室 开源项目使用说明
白色大气风格的婚礼布置现场企业网站模板下载.zip
基于PLC和组态软件的智能停车场收费系统停车场电气控制
白色大气风格响应式项目团队动态企业网站模板.zip
“教育的智慧”读书分享会教案课件模板
白色大气风格的色彩管理网站模板下载.zip
计算机网络期末复习(第八版)谢希仁
白色大气的服装鞋包商城整站网站模板下载.zip
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于计算机科学与技术等相关专业,更为适合;
白色扁平化风格的西餐厅网店模板下载.zip
数字时钟基础框架设计,内部关键模块均已仿真完成。。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
白色扁平化风格的私人订制旅行模板下载.zip
白色扁平化风格的滑雪运动体育项目模板.zip
白色简单的商务企业网站模板下载.rar
白色大气风格响应式产品展示企业网页模板.zip