import java.util.Comparator;
import java.util.ArrayList;
public class Demo{
public static void main(String[] args){
User u1 =new User("aaa",12);
User u2 =new User("ddd",10);
User u3 =new User("ccc",20);
User u4 =new User("bbb",10);
ArrayList arrayList = new ArrayList();
arrayList.add(u1);
arrayList.add(u2);
arrayList.add(u3);
arrayList.add(u4);
Object[] users =arrayList.toArray();
System.out.println ("排序前。。。。");
for (int i = 0; i<users.length; i++){
System.out.println (users[i]);
}
System.out.println ("*******************************");
System.out.println ("排序后。。。。。");
//把排序规则交给sort方法。该方法就回按照你自定义的规则进行排序
java.util.Arrays.sort(users,new MyComparator());
for (int i = 0; i<users.length; i++){
System.out.println (users[i]);
}
}
}
class User{
String name;
int age ;
public User(String name,int age){
this.name = name;
this.age = age;
}
public String toString(){
return name+":::"+age;
}
}
class MyComparator implements Comparator{
public int compare(Object obj1, Object obj2 ){
User u1 = (User)obj1;
User u2 = (User)obj2;
if(u1.age>u2.age){
return 1;
}else if(u1.age<u2.age){
return -1;
}else{
//利用String自身的排序方法。
//如果年龄相同就按名字进行排序
return u1.name.compareTo(u2.name);
}
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caoyinghui1986/archive/2008/03/30/2229937.aspx
分享到:
相关推荐
可以通过两种方式自定义对象的属性大小进行比较,对一个list或数组对根据属性排序一个list或数组
文件按照window 的排序规则-Java实现。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
主要介绍了Java针对ArrayList自定义排序的2种实现方法,结合实例形式总结分析了Java操作ArrayList自定义排序的原理与相关实现技巧,需要的朋友可以参考下
如果要按照某一个属性来对这个对象数组进行升序或降序排序,那么就需要用Arrays.sort(),但是这个创建的类一定要继承Comparable这个接口并重写compareTo方法。代码如下: package 排序; import java.util.Arrays; ...
java开发中常用的工具类 比如 ...4:javabean java对象到xml的自动封装 5:各种日期格式的处理 6:json的自动封装处理 7:fusionchart各种图 显示样式的定义 8:各种排序算法 9:其他很多。。。想看 下载吧
JAVA 键盘录入学生成绩,排序后输出,set中自定义排序规则。
定制排序:在创建TreeSet集合对象时,并提供一个Comparator接口实现类对象与该TreeSet集合关联, 由Comparator实现类对象负责集合元素的排序逻辑。 // 自定义比较器 class MyTreeSetCompartor implements...
2.优化多条件查询,支持or语句,支持多种排序,支持自定义返回字段,支持自增语句 3.支持一次插入多条 4.支持外部connention 5.优化分页查询 6.支持手动开启或关闭日志打印 7.优化对特殊符号的支持 博文:...
SortDemo.java 排序示例 travelTwoDime.java 遍历二维数组 traversing.java 遍历一维数组 useStrBuf.java 使用StringBuffer示例 useString.java 使用String示例 YanghuiTri.java 构造和显示杨辉三角 第6章 ...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
2、按顺序把1,10,5,7,6,2,9,20,14,存入到List中(注:允许自己自定义任何数),并对其进行排序,打印其升序和降序排列的结果。然后再向List中 位置为第四位插入数 35看看会有啥结果?再向List中插入字符串“ddy”,...
java+main方法源码
实例039 使用快速排序法对数组排序 57 实例040 使用直接插入法对数组排序 59 实例041 使用sort()方法对数组排序 61 实例042 反转数组中元素的顺序 63 第6章 面向对象入门 65 实例043 自定义图书类 66 实例044 温度...
031305_【第13章:Java类集】_排序及重复元素说明笔记.pdf 031306_【第13章:Java类集】_SortedSet接口笔记.pdf 031307_【第13章:Java类集】_Iterator接口笔记.pdf 031308_【第13章:Java类集】_ListIterator接口...
12反射 是java程序开发的特征之一,允许java程序对自身进行检查,并能直接操作程序的内部属性; instanceof操作符,instanceof.java; 获取类的信息,ViewClassInfoJrame.java; 动态调用类的方法,CallMetod.java; ...
比如对一个数组进行排序,程序员可以写如下排序算法: 代码演示:数组排序 public static void sort(int[] arrs) { boolean isSwap = false; for (int i = 0; i ; i++) { isSwap = false; for (int j = arrs....
数组排序 多维数组 命令行参数 面向对象编程 面向对象基础 方法 构造方法 方法重载 继承 多态 抽象类 接口 静态字段和静态方法 包 作用域 classpath和jar 模块 Java核心类 字符串和编码 ...
4 16 2自定义异常类 4 17Class类 4 17 1获取类的有关信息 4 17 2使用Class实例化一个对象 4 18基本类型的类包装 4 18 1Double类和Float类 4 18 2Byte Integer Short 工 ong类 4 18 3Character类 4 19反编译和文档...