关于java Collections.sort 排序
public static void main(String[] args) {
int[] dd = {12,34,46,123,23,2,35,13,543231,65,5645,57};
Arrays.sort(dd);
System.out.println(Arrays.toString(dd)); // 常用数组排序,算法是快速排序算法
List<Student> ls = new ArrayList<Student>();
ls.add(new Student(2, "12123"));
ls.add(new Student(54, "12334"));
ls.add(new Student(32, "354123"));
ls.add(new Student(6, "12654623"));
ls.add(new Student(7, "456423"));
Collections.sort(ls); // 对象集合排序,依赖对象的compare方法 优点排序方式可以复用,但是不够灵活
for(Student st : ls){
System.out.println(st.toString());
}
Collections.sort(ls ,new Comparator<Student>(){ // 对象集合排序,需要每次写比较方法
@Override
public int compare(Student o1, Student o2) {
// TODO Auto-generated method stub
if(o1.getName().compareTo(o2.getName()) == 0){
return o1.getName().compareTo(o2.getName());
}else{
return o1.getId() - o2.getId();
}
}
});
System.out.println("------------------------------");
for(Student st : ls){
System.out.println(st.toString());
}
}
}
class Student implements Comparable{
int id;
String name ;
public Student(int id, String name) {
super();
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int compareTo(Object o) {
// TODO Auto-generated method stub
if(this.id != ((Student)o).getId()){
return this.id - ((Student)o).getId();
}else{
return this.name.compareTo(((Student)o).getName());
}
}
@Override
public String toString() {
return "id=" + id + ", name=" + name;
}
}
关于java Collections.sort 排序的更多相关文章
- Java Collections.sort方法对list集合排序
1.排序测试类 package com.ljq.test; import java.util.ArrayList; import java.util.Collections; import java. ...
- java中Collections.sort排序详解
Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f, ...
- java Collections.sort()实现List排序的默认方法和自定义方法
1.java提供的默认list排序方法 主要代码: List<String> list = new ArrayList();list.add("刘媛媛"); list. ...
- (网页)java中Collections.sort排序详解(转)
转自CSDN: Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b, ...
- [转]java中Collections.sort排序详解
Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e, ...
- Java中Collections.sort()排序详解
public static void main(String[] args) { List<String> list = new ArrayList<String>(); ...
- java Collections.sort()实现List排序的默认方法和自定义方法【转】
1.java提供的默认list排序方法 主要代码: List<String> list = new ArrayList();list.add("刘媛媛"); list. ...
- java Collections.sort()实现List排序自定义方法
方法一: package testSimple; import java.util.ArrayList; import java.util.Collections; import java.util. ...
- Java Collections的排序之二
package test.list; import java.util.ArrayList; import java.util.Collections; import java.util.HashSe ...
随机推荐
- python3.5学习第一章
在python中,变量赋值或者其他语句后不需要加”:“ python中,缩进特别重要! 条件语句和循环语句,要加”:“ 一.变量赋值 name = "cecelia"name2 = ...
- 大数据新手之路四:联合使用Flume和Kafka
Ubuntu16.04+Kafka1.0.0+Flume1.8.0 1.目标 ①使用Flume作为Kafka的Producer: ②使用Kafka作为Flume的Sink: 其实以上两点是同一个事情在 ...
- C# 递归缩小图片
需求:图片太大,上传到服务器会非常占用服务器空间,而系统又不要求高清图片,于是就通过递归的方式让图片每次减少10%的大小,当图片大小小于100k的时候就保存在本地,核心代码如下: class Prog ...
- ubuntu 14.04 postgresql 的总结
1)为了允许远程连接: a) http://askubuntu.com/questions/423165/remotely-access-postgresql-database To open the ...
- Servlet Exception and Error Handling
Servlet API support for custom Exception and Error Handler servlets that we can congiure in deployme ...
- Python 编程快速上手 第六章总结
第六章 字符串操作 前言 这一章节讲了关于 Python 中字符串类型的知识.与字符串有关的操作符,方法等等. 处理字符串:字符串的写入.打印.访问的知识 原始字符串 格式:r'string'作用:在 ...
- Getting Started with Processing 第二,三章总结
第一章是文化熏陶. 第二章:开始编程 菜单栏中的 Show 的快捷键 Run:进行显示shortcut:可以通过快捷键 cmd + R 执行Present:进行全屏的显示shortcut:可以通过按下 ...
- 机器学习基石(台湾大学 林轩田),Lecture 2: Learning to Answer Yes/No
上一节我们跟大家介绍了一个具体的机器学习的问题,以及它的内容的设定,我们今天要继续下去做什么呢?我们今天要教大家说到底我们怎么样可以有一个机器学习的演算法来解决我们上一次提到的,判断银行要不要给顾客信 ...
- 微信小程序分享
点击链接查看详情:(转发的路径的必须写正确) https://mp.weixin.qq.com/debug/wxadoc/dev/api/share.html
- 文件名简体转繁体bat
@echo off rem 指定文件夹路径 set "fd=D:\下载的图片" rem 0为转换文件名,1为转换文件夹名,2为同时转换文件名和文件夹名 set f=0 rem 0为 ...