package test.collections;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List; public class Test02 {
public static void main(String[] args){
List<Song> songs = new ArrayList<Song>();
songs.add(new Song(2,"黄家驹","光辉岁月"));
songs.add(new Song(5,"刘德华","忘情水"));
songs.add(new Song(44,"张学友","吻别"));
songs.add(new Song(32,"刘德华","爱你一万年"));
songs.add(new Song(123,"黄家驹","冷雨夜"));
songs.add(new Song(133,"小虎队","爱")); Collections.sort(songs);
printList(songs);
}
public static void printList(Collection<Song> c){
for(Song song:c){
System.out.println(song);
}
}
}
class Song implements Comparable<Song>{
private String name;
private String songer;
private int id;
public Song(int id,String songer,String name) {
super();
this.id = id;
this.name = name;
this.songer = songer;
} @Override
public String toString() {
return "Song [name=" + name + ", songer=" + songer + ", id=" + id + "]";
} public Song() {
super();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSonger() {
return songer;
}
public void setSonger(String songer) {
this.songer = songer;
}
public int compareTo(Song s){
//使用this.id 和s.id做比较,如果返回值>1,表示顺序排序,返回值是<1的数表示倒序
if(this.id>s.id){
return 1;
}else if(this.id<s.id){
return -1;
}else {
return 0;
} //根据歌名排序
//return this.getName().compareTo(s.getName());
//根据歌手名排序
//return this.getSonger().compareTo(s.getSonger());
}
}

[Java] 对象排序示例的更多相关文章

  1. Java对象池示例

    单例模式是限制了一个类只能有一个实例,对象池模式则是限制一个类实例的个数.对象池类就像是一个对象管理员,它以Static列表(也就是装对象的池子)的形式存存储某个实例数受限的类的实例,每一个实例还要加 ...

  2. ason 和 Java 对象转化示例

    1.工程 2.代码: JsonUtil.java package com.my.json; import java.util.ArrayList; import java.util.List; imp ...

  3. Jason 和 Java 对象转化示例

    1.工程 2.代码: JsonUtil.java package com.my.json; import java.util.ArrayList; import java.util.List; imp ...

  4. Java 对象排序详解

    很难想象有Java开发人员不曾使用过Collection框架.在Collection框架中,主要使用的类是来自List接口中的ArrayList,以及来自Set接口的HashSet.TreeSet,我 ...

  5. Java对象排序

    java实现对象比较,可以实现java.lang.Comparable或java.util.Comparator接口 //Product.java import java.util.Date; //p ...

  6. java对象排序(Comparable)详细实例

    对象实现Comparable接口 public class Field implements Comparable<Field>{ private String name; private ...

  7. Java对象排序两种方法

    转载:https://blog.csdn.net/wangtaocsdn/article/details/71500500 有时候需要对对象列表或数组进行排序,下面提供两种简单方式: 方法一:将要排序 ...

  8. 多字段 java对象排序

    public class ReflexUtil { static Logger logger = LoggerFactory.getLogger(ReflexUtil.class); //getMet ...

  9. Java笔记12:Java对象排序

    代码: import java.util.Arrays; import java.util.Comparator; class Person { private String name; privat ...

随机推荐

  1. Sql Server 事务隔离级别的查看及更改

    根据自身 Sql Server 的情况来自定义 事务隔离级别,将会更加的满足需求,或提升性能.例如,对于逻辑简单的 Sql Server,完全可以使用 read uncommitted 模式,来减少死 ...

  2. SQL server 中的dbo、guest

    dbo database owner 数据库的创建者,创建该对象的用户. guest 顾客 能够访问数据库中对象的数据, 要求dbo分配权限给guest, 一般给他查看的权限select 数据库所有者 ...

  3. OpenJudge计算概论-计算鞍点

    /*======================================================================== 计算鞍点 总时间限制: 1000ms 内存限制: ...

  4. 【Swift】读取文本文件字符串

    var str:NSString = NSString.stringWithContentsOfFile(_srcouceFilePath,encoding:NSUTF8StringEncoding, ...

  5. eclipse svn subclipse下载地址

    http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 Eclipse 3.x Subclipse release ...

  6. Centos7下配置Tomcat7以指定(非root)身份运行

    通常情况下,在配置Tomcat生产环境时,通常会配置Tomcat以特定的身份运行(非root),这样有利于提高安全性,防止网站被黑后的进一步权限提升. 本文依赖的环境: Ubuntu(其实大部分同样适 ...

  7. 解决json包含html标签无法显示的问题

    要是在json中包含html标签的话,在js接收数据的时候就会出现问题,导致接收失败. 所以在java端,对json包含有html标签的句子先进行转义. package com.alibaba.int ...

  8. 将war文件解压到指定目录

    问:如何将.war文件解压到指定目录? 答:jar命令没有这样的选项. eg:将abc.war解压到当前文件夹? 答:进入目标文件即abc.war文件所在的文件夹,按住shift键并在该文件夹空白处点 ...

  9. 用JS获取DropDownList选中得值

    HTML: <asp:DropDownList ID="DropdownList1" runat="server" AutoPostBack=" ...

  10. 【shell】if语句

    单分支: #!/bin/bash rate=$(df -h|grep vg_andon-lv_root |awk '{print $5}'| cut -d "%" -f1) #ec ...