List集合对象根据字段排序
//把需要比较的对象实现Comparable接口实现compareTo方法
public class Address implements Comparable<Address> {
String country;
String city;
String name;
public Address(String country, String city, String name) {
super();
this.country = country;
this.city = city;
this.name = name;
}
public String toString(){
return "\nname:"+this.name+" city:"+this.city+" country:"+this.country;
}
@Override
public int compareTo(Address o) {
//如果国家不相等,那么直接比较其他字段
if(!this.country.equals(o.country)){
return this.country.compareTo(o.country);
}else if(!this.city.equals(o.city)){
return this.city.compareTo(o.city);
}else{
return this.name.compareTo(o.name);
}
}
}
//测试类
public class ComparableTest {
public static void main(String[] args) {
List<Address> list = new ArrayList<Address>();
Address a1 = new Address("中国", "湖南", "屌丝1");
Address a2 = new Address("中国", "湖北", "屌丝2");
Address a3 = new Address("美国", "纽约", "屌丝3");
Address a4 = new Address("中国", "湖北", "屌丝4");
Address a5 = new Address("中国", "湖南", "屌丝5");
Address a6 = new Address("中国", "广西", "屌丝6");
list.add(a1);
list.add(a2);
list.add(a3);
list.add(a4);
list.add(a5);
list.add(a6);
System.out.println(list);//排序前
Collections.sort(list);
System.out.println(list);//排序后
}
}
}
//打印结果
[ name:屌丝1 ncity:湖南 ncountry:中国,
name:屌丝2 ncity:湖北 ncountry:中国,
name:屌丝3 ncity:纽约 ncountry:美国,
name:屌丝4 ncity:湖北 ncountry:中国,
name:屌丝5 ncity:湖南 ncountry:中国,
name:屌丝6 ncity:广西 ncountry:中国]
[ name:屌丝6 ncity:广西 ncountry:中国,
name:屌丝2 ncity:湖北 ncountry:中国,
name:屌丝4 ncity:湖北 ncountry:中国,
name:屌丝1 ncity:湖南 ncountry:中国,
name:屌丝5 ncity:湖南 ncountry:中国,
name:屌丝3 ncity:纽约 ncountry:美国]
List集合对象根据字段排序的更多相关文章
- java实现按对象某个字段排序,排序字段和规则自定义
@SuppressWarnings({ "unchecked", "rawtypes" }) private <T> void sort(List& ...
- List集合对象中的排序,随机显示
List<User> students = new ArrayList<User>(); User user1 = new User(); user1.setAge(112); ...
- Java将list<map>或者list<entity>集合根据指定字段排序
今天项目中用到了,特记录一下 一. List<Map> 如果 item.get(sortField) 有时间,有数字的时候直接toString(),数组结果的排序结果可能不正确 List& ...
- List集合基于某个字段排序
using System; using System.Collections.Generic; namespace ConsoleApplication1 { class Product { publ ...
- java的list集合如何根据对象中的某个字段排序?
转自:http://blog.csdn.net/wangjuan_01/article/details/51351633 List集合按某个字段排序 package wjtest_01; import ...
- JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序
前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和A ...
- List泛型集合对象排序
本文的重点主要是解决:List<T>对象集合的排序功能. 一.List<T>.Sort 方法 () MSDN对这个无参Sort()方法的介绍:使用默认比较器对整个List< ...
- wpf 导出Excel Wpf Button 样式 wpf简单进度条 List泛型集合对象排序 C#集合
wpf 导出Excel 1 private void Button_Click_1(object sender, RoutedEventArgs e) 2 { 3 4 ExportDataGrid ...
- js对象数组多字段排序
来源:js对象数组按照多个字段进行排序 一.数组排序 Array.sort()方法可以传入一个函数作为参数,然后依据该函数的逻辑,进行数组的排序. 一般用法:(数组元素从小大进行排序) var a = ...
随机推荐
- Apache与Tomcat联系及区别(转)
Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行.Apache是Web服务器而Tomcat是Java应用服务器. A ...
- Codeforces Alpha Round #20 (Codeforces format) C. Dijkstra?(裸的dijkstra)
题目链接:http://codeforces.com/problemset/problem/20/C 思路:需要用优化过的dijkstra,提供两种写法. #include <iostream& ...
- 通过maven下载jar包
准备 你得先安装Maven如果不会点击后面的连接查看一二步.http://www.cnblogs.com/luoruiyuan/p/5776558.html 1.在任意目录下创建一个文件夹,其下创建一 ...
- 自定义 ActionBar 标题与菜单中的文字样式
自定义标题文字样式 标题样式是 ActionBar 样式的一部分,所以要先定义 ActionBar 的样式 <style name="AppTheme" parent=&qu ...
- DSP using MATLAB 示例Example3.17
- express-11 表单处理(2)
处理AJAX表单 用Express处理AJAX表单非常简单:甚至可以使用相同的处理程序来处理AJAX请求和常规的浏览器回退. HTML文件 (/views/newsletter.handlebars) ...
- MySql 的数据储存引擎
1.存储引擎是什么? Mysql中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术, ...
- Graphics 导出图片使用【这个主要是画图类图的使用,记录一下】
/// <summary> /// 导出信令流程矢量图 /// </summary> /// <param name="signalFlowInfos" ...
- AngularJS 指令(使浏览器认识自己定义的标签)
对于angular js还有其强大之处,可以利用angular js的指令来自定义许多标签.下面是一个实例: 自定一个名为hello标签,视图如下: <div ng-app="myAp ...
- iOS 原生网络请求(推荐使用AFNetWorking库)
. 同步GET请求 //第一步,创建URL NSURL *url = [NSURL URLWithString:@"http://api.hudong.com ...