Java对数组对象进行排序
下面是一组对数组对象进行排序的代码:
package com.sun; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List; public class Test09 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub Dog dog[] = new Dog[3];
dog[0]= new Dog("wangchai",10);
dog[1]= new Dog("laifu",9);
dog[2]= new Dog("ww",20);
Arrays.sort(dog); for(int i=0;i<dog.length;i++){
System.out.println(dog[i].name);
}
} } class Dog implements Comparable{
public Integer tizhong = 0;
public String name = "";
public Dog(String name, int tizhong) {
this.name = name;
this.tizhong = tizhong;
}
//按年龄排序
@Override
/* public int compareTo(Object o) {
// TODO Auto-generated method stub
Dog s=(Dog)o;
return tizhong>s.tizhong?1:(tizhong==s.tizhong?0:-1);
}*/
//按名字排序
/* public int compareTo(Object o)
{
Dog s=(Dog)o;
int result=name.compareTo(s.name);
return result;
}*/
//如果先按数字再按字符排序,则这样写:
public int compareTo(Object o)
{
Dog s=(Dog)o;
int result= tizhong>s.tizhong?1:(tizhong==s.tizhong?0:-1);
if (0==result){
result=name.compareTo(s.name);
}
return result;
} }
Java对数组对象进行排序的更多相关文章
- Java ArrayList中对象的排序 (Comparable VS Comparator)
我们通常使用Collections.sort()方法来对一个简单的数据列表排序.但是当ArrayList是由自定义对象组成的,就需要使用comparable或者comparator接口了.在使用这两者 ...
- java字符串数组进行大小排序
若是将两个字符串直接比较大小,会包:The operator > is undefined for the argument type(s) java.lang.String, java.lan ...
- javascrpit sort()数组对象中排序
/*ionic 调用 * @param attr 排序的属性 如number属性 * @param rev true表示升序排列,false降序排序 * */ commonSortMethod(att ...
- 用block变量来对字符数组对象进行排序
<span style="font-size:18px;">降序排序</span> <span style="font-size:18px; ...
- Java对数组和列表的排序1.8新特性
Java对数组列表的排序 数组 Integer[] a = new Integer[] { 1, 2, 3, 4, 5, 6, 9, 8, 7, 4, 5, 5, 6, 6 }; Arrays.sor ...
- java数组对象的浅层复制与深层复制
实际上,java中数组对象的浅层复制只是复制了对象的引用(参考),而深层复制的才是对象所代表的值.
- Array.prototype.sort()对数组对象排序的方法
Array.prototype.sort()方法接受一个参数——Function,Function会提供两个参数,分别是两个进行比较的元素,如果元素是String类型则通过Unicode code进行 ...
- js中的数组对象排序
一.普通数组排序 js中用方法sort()为数组排序.sort()方法有一个可选参数,是用来确定元素顺序的函数.如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序.如: var ar ...
- Java Script基础(八) Array数组对象
一.Array数组 JavaScript中的数组也是具有相同数据类型的一个或者多个值得集合.用法和Java中的数组类似. Array对象的常用属性和方法: 属性: length:获取数组的长度: 方法 ...
随机推荐
- 转:三十一、Java图形化界面设计——布局管理器之GridLayout(网格布局)
http://blog.csdn.net/liujun13579/article/details/7772491 网格布局特点: l 使容器中的各组件呈M行×N列的网格状分布. l 网格每列宽度相 ...
- C++类的大小
C++类的大小 一个空类class A{};的大小为什么是1,因为如果不是1,当定义这个类的对象数组时候A objects[5]; objects[0]和objects[1]就在同一个地址处,就无 ...
- bzoj1028
穷举水题 ..] of boolean; q:..] of longint; ans,count,jud:..] of longint; x,i,j,n,m,tot,t,k:l ...
- PHP手册 – 变量和常量
变量 php中变量的定义,就是就在某一个单词前面加上"\(".这是php的特色,**我想到的一个好处就是和常量做区分.另外,linux的shell编程中,\)有取值的意思.**.赋 ...
- 段错误调试神器 - Core Dump详解
一.前言: 有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的. 但这不像编译错误一样会提示到文件某一行, 而是没有任何信息, 使得我们的调试变得 ...
- 转载--Linux命令top动态观察程序的变化
转载:http://www.cnblogs.com/allen8807/archive/2010/11/10/1874001.html top:动态观察程序的变化 [root@linux ~]# to ...
- 转载--C语言运算符优先级和口诀
转载:http://www.cnblogs.com/zhanglong0426/archive/2010/10/06/1844700.html 一共有十五个优先级: 1 () [] . -& ...
- MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验
原文地址:http://liangweilinux.blog.51cto.com/8340258/1728131 首先在此感谢下我的老师年一线实战经验,我当然不能和我的老师平起平坐,得到老师三分之一的 ...
- winfrom存储txt日志函数
参考微信支付SDK的代码,抽取出来的winform存储记事本日志函数: #region 存储日志 public string path = Application.StartupPath + &quo ...
- Java学习之路(一) —— Java命名规范
Package 的命名 Package 的名字应该都是由一个小写单词组成. Class 的命名 Class 的名字必须由大写字母开头而其他字母都小写的单词组成 Class 变量的命名 变量的名字必须用 ...