[Java] 对象排序示例
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] 对象排序示例的更多相关文章
- Java对象池示例
单例模式是限制了一个类只能有一个实例,对象池模式则是限制一个类实例的个数.对象池类就像是一个对象管理员,它以Static列表(也就是装对象的池子)的形式存存储某个实例数受限的类的实例,每一个实例还要加 ...
- ason 和 Java 对象转化示例
1.工程 2.代码: JsonUtil.java package com.my.json; import java.util.ArrayList; import java.util.List; imp ...
- Jason 和 Java 对象转化示例
1.工程 2.代码: JsonUtil.java package com.my.json; import java.util.ArrayList; import java.util.List; imp ...
- Java 对象排序详解
很难想象有Java开发人员不曾使用过Collection框架.在Collection框架中,主要使用的类是来自List接口中的ArrayList,以及来自Set接口的HashSet.TreeSet,我 ...
- Java对象排序
java实现对象比较,可以实现java.lang.Comparable或java.util.Comparator接口 //Product.java import java.util.Date; //p ...
- java对象排序(Comparable)详细实例
对象实现Comparable接口 public class Field implements Comparable<Field>{ private String name; private ...
- Java对象排序两种方法
转载:https://blog.csdn.net/wangtaocsdn/article/details/71500500 有时候需要对对象列表或数组进行排序,下面提供两种简单方式: 方法一:将要排序 ...
- 多字段 java对象排序
public class ReflexUtil { static Logger logger = LoggerFactory.getLogger(ReflexUtil.class); //getMet ...
- Java笔记12:Java对象排序
代码: import java.util.Arrays; import java.util.Comparator; class Person { private String name; privat ...
随机推荐
- iframe中子页面通过js计算高度(使得页面不会显示不全)
使用过iframe的人,都知道,它是一个模版,里面有一个iframe,而iframe当中,是可以嵌套多个页面的.(比较常见的问题,就是iframe页面中,经常会出现内容显示不全的时候). 谨记,通过j ...
- Java 异常处理机制和集合框架
一.实验目的 掌握面向对象程序设计技术 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境 三.实验内容 1.Java异常处理机制涉及5个关键字:t ...
- linux服务之openldap
http://www.openldap.org/ http://blog.csdn.net/chinalinuxzend/article/details/1870656 OpenLDAP学习笔记 ht ...
- Swift技术之如何在iOS 8下使用Swift设计一个自定义的输入法 (主要是NSLayoutConstraint 的使用)
当前位置: > Swift新手入门 > Swift技术之如何在iOS 8下使用Swift设计一个自定义的输入法 时间:2014-09-10 16:49来源:未知 作者:啊成 举报 点击:5 ...
- Maven中Spring-Data-Redis存储对象(redisTemplate)
Redis是一种nosql数据库,在开发中常用做缓存.Jedis是Redis在java中的redis- client.在此之前,希望已经了解redis的基本使用和Maven的使用.建立Maven Pr ...
- Oracle对索引列同时使用多个聚合函数的性能问题
Oracle某一数据表tkk715(数据量在一千万左右),对一个索引字段做获取最大值与最小值的聚合函数操作,响应时间较长(超过3秒): 将SQL改写为分别取最大.最小的聚合值,IO和响应时间显著下降到 ...
- 在.net中序列化读写xml方法的总结
在.net中序列化读写xml方法的总结 阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命 ...
- wap图片滚动特效_无css3 元素js脚本编写
手机图片滑动切换,网上有很多这样的例子,但都借助于其他组件,让代码混乱的不行:还有就是用到css3里的 transform:translate(x,y);移动元素,不过发现在不支持css3的设备上马上 ...
- Microsoft SQL Server Management Studio 导出触发器脚本
- Python基础教程【读书笔记】 - 2016/7/14
希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴! 第六波:第2章 列表和元组 [总览] 数据结构,是通过某种方式组织在一起的数据元素的集合,数据元素可以使数字或字符串 ...