java Collections.sort()实现List排序自定义方法
方法一:
package testSimple; import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List; public class testCollectionSort {
public static void main(String[] args) {
List<TblPowerGroup> list = new ArrayList<TblPowerGroup>();
list.add(new TblPowerGroup("100001", "cxx1"));
list.add(new TblPowerGroup("100002", "cxx2"));
list.add(new TblPowerGroup("100003", "cxx6"));
list.add(new TblPowerGroup("100003", "cxx5"));
list.add(new TblPowerGroup("100004", "cxx5"));
list.add(new TblPowerGroup("100004", "cxx6"));
Collections.sort(list, new Comparator<TblPowerGroup>() { @Override
public int compare(TblPowerGroup o1, TblPowerGroup o2) {
if (o1.getGroupSn().compareTo(o2.getGroupSn()) == 0) {
return o1.getNodeName().compareTo(o2.getNodeName());
} else {
return o1.getGroupSn().compareTo(o2.getGroupSn());
}
} });
System.out.println(list);
}
} class TblPowerGroup {
private String groupSn;
private String nodeName; public TblPowerGroup(String groupSn, String nodeName) {
super();
this.groupSn = groupSn;
this.nodeName = nodeName;
} public String getGroupSn() {
return groupSn;
} public void setGroupSn(String groupSn) {
this.groupSn = groupSn;
} public String getNodeName() {
return nodeName;
} public void setNodeName(String nodeName) {
this.nodeName = nodeName;
} @Override
public String toString() {
return "TblPowerGroup [groupSn=" + groupSn + ", nodeName=" + nodeName
+ "]";
} }
方法二:
package testSimple; import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List; public class testCollectionSort2 {
public static void main(String[] args) {
List<TblPowerGroup> list = new ArrayList<TblPowerGroup>();
list.add(new TblPowerGroup("100001", "cxx1"));
list.add(new TblPowerGroup("100002", "cxx2"));
list.add(new TblPowerGroup("100003", "cxx6"));
list.add(new TblPowerGroup("100003", "cxx5"));
list.add(new TblPowerGroup("100004", "cxx5"));
list.add(new TblPowerGroup("100004", "cxx6"));
Collections.sort(list, new TblPowerGroupSort());
System.out.println(list);
} private static class TblPowerGroupSort implements Comparator<TblPowerGroup> { @Override
public int compare(TblPowerGroup o1, TblPowerGroup o2) {
if (o1.getGroupSn().compareTo(o2.getGroupSn()) == 0) {
return o1.getNodeName().compareTo(o2.getNodeName());
} else {
return o1.getGroupSn().compareTo(o2.getGroupSn());
}
} }
}
java Collections.sort()实现List排序自定义方法的更多相关文章
- java Collections.sort()实现List排序的默认方法和自定义方法
1.java提供的默认list排序方法 主要代码: List<String> list = new ArrayList();list.add("刘媛媛"); list. ...
- java Collections.sort()实现List排序的默认方法和自定义方法【转】
1.java提供的默认list排序方法 主要代码: List<String> list = new ArrayList();list.add("刘媛媛"); list. ...
- java Collections.sort()
sort()是Collections中的静态方法,用于对List容器中的元素排序. 如容器list中存储的是Integer对象 List<Integer> list =Arrays.asL ...
- Java Collections.sort方法对list集合排序
1.排序测试类 package com.ljq.test; import java.util.ArrayList; import java.util.Collections; import java. ...
- java List 排序 Collections.sort() 对 List 排序
class User { String name; String age; public User(String name,String age){ this.name=name; this.a ...
- 关于java Collections.sort 排序
public static void main(String[] args) { int[] dd = {12,34,46,123,23,2,35,13,543231,65,5645,57}; Arr ...
- java collection.sort()根据时间排序list
首先:定义bean 然后:定义比较器 最后:测试使用 一.userBean package com.butterfly.Class; public class user { private Strin ...
- Collections.sort 的日期排序
public static void main(String[] args) throws ParseException { // sort降序排列 List<Date> dates = ...
- Collections.sort 给集合排序
List<MenuVo> child_menus = new ArrayList<MenuVo>(); for (MenuVo menuVo : child_menus) { ...
随机推荐
- C++之路进阶——codevs3566(紧急疏散)
3566 紧急疏散 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 发生了火警,所有人员需要紧急疏散!假设每个房间是一 ...
- NLog路由规则和上下文信息
NLog配置路由规则和上下文信息 rules: 规则节点 logger:一个路由规则 <rules> <!--<logger name="*" writeT ...
- 怎么在js中,访问viewbag,viewdata等等的值
在js中要访问viewbag,viewdata存储的值, var ss='@ViewBag.name'; 一定要加引号,单双随便,还有, ViewBag一定要写规范,不然会编译错误! 成功者的秘诀就是 ...
- [Vuejs] 关于vue-router里面的subRoutes
刚学习vue,可能有使用不对的地方,希望没有对大家造成困扰! 使用vue-router,为了能够更好的管理.vue文件,需要用到子路由. 先看个错误的例子 routers.js '/company': ...
- [原创]win10 命令行出现问号而且无法chcp 936
现象: 命令行中中文字符显示为问号,输入chcp 936会提示 invlalid page code. 解决: 设置-区域和语言-时钟,语言和区域-区域-更改位置-管理-非Unicode中所使用的语言 ...
- mvc 中的 [ChildActionOnly] 和 [NonAction]
首先,NonAction表示它不是一个真正的Action,而是一个普通方法, 就像我们定义一个普通的方法那样,返回值可以任意定义; 而 ChildActionOnly表示它只能在View中通过Htm ...
- [转] How to debug a ARM Cortex-M hard fault exception
how to debug a ARM Cortex-M hard fault exception
- GDB的深入研究
GDB的深入研究 一.GDB代码调试 (一)GDB调试实例 在终端中编译一个示例C语言小程序,保存为文件 gdblianxi.c 中,用GCC编译. 在上面的命令行中,使用-o参数指定了编译生成的可执 ...
- json pickle time
多层装饰器: 字符串格式化: 当字符串格式化时 , %% 生成器 使用函数创造的 yield递归模块PY:模块其他:类库 先导入 后使用 自定义模块内置模块第三方模块为什么要有模块 将代码归类模块的内 ...
- svn: 期望文件系统格式在“1”到“4”之间;发现格式“6”
svn 客户端浏览的时候出现了这个提示,经查,发现是Subversion 1.7 < TortoiseSVN 1.8导致的,需要更换版本,应该是 Version(Subversion) > ...