方法一:

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排序自定义方法的更多相关文章

  1. java Collections.sort()实现List排序的默认方法和自定义方法

    1.java提供的默认list排序方法 主要代码: List<String> list = new ArrayList();list.add("刘媛媛"); list. ...

  2. java Collections.sort()实现List排序的默认方法和自定义方法【转】

    1.java提供的默认list排序方法 主要代码: List<String> list = new ArrayList();list.add("刘媛媛"); list. ...

  3. java Collections.sort()

    sort()是Collections中的静态方法,用于对List容器中的元素排序. 如容器list中存储的是Integer对象 List<Integer> list =Arrays.asL ...

  4. Java Collections.sort方法对list集合排序

    1.排序测试类 package com.ljq.test; import java.util.ArrayList; import java.util.Collections; import java. ...

  5. java List 排序 Collections.sort() 对 List 排序

    class User { String name; String age;  public User(String name,String age){  this.name=name;  this.a ...

  6. 关于java Collections.sort 排序

    public static void main(String[] args) { int[] dd = {12,34,46,123,23,2,35,13,543231,65,5645,57}; Arr ...

  7. java collection.sort()根据时间排序list

    首先:定义bean 然后:定义比较器 最后:测试使用 一.userBean package com.butterfly.Class; public class user { private Strin ...

  8. Collections.sort 的日期排序

    public static void main(String[] args) throws ParseException { // sort降序排列 List<Date> dates = ...

  9. Collections.sort 给集合排序

    List<MenuVo> child_menus = new ArrayList<MenuVo>(); for (MenuVo menuVo : child_menus) { ...

随机推荐

  1. 有一道题,大家能帮我看一下哪里错了吗?c++的

    有一道题我不知道是哪里错了,大神们帮忙看一下,谢谢! 试题描述: 在四位自然数中有这样一些特点的数:(1)它们是素数:(2)将这些素数加上45后得到一个新的数值:(3)请同学们在这些新的数值中挑选出: ...

  2. Visual Studio 2015 Update 3 正式版下载

    vs2015-update3    .NET Core 1.0  文件名 cn_visual_studio_enterprise_2015_with_update_3_x86_x64_dvd_8923 ...

  3. Hadoop:操作 Hadoop Cluster

    启动Hadoop 当完成所有的必要配置后,将HADOOP_CONF_DIR目录中的所有配置文件复制到所有机器,建议将HDFS和YARN后台进程一不同的用户身份运行,比如运行HDFS进程们的用户为hdf ...

  4. 1.多线程-NSThread

    1.在主线程执行多次NSLog模拟耗时操作 结果,卡住主线程 解决方案: performSelectorInBackground让程序在后台执行   2.pthread的使用 开辟子线程,执行一个函数 ...

  5. windows编程环境

    自行下载VS2010官方原版并破解你也可以从微软官方直接下载VS2010 正式版,然后自行破解.Microsoft Visual Studio 2010官方下载地址如下:页面:http://www.m ...

  6. linux shell脚本使用结构化命令(2)

    一.for命令 二.while命令 三.until命令 1.for命令基本格式 for var in list do commands done oracle@suse:~/testshell> ...

  7. Android 颜色渲染PorterDuff及Xfermode详解

    在讲具体的使用之前补充一点知识,这就是 ProterDuff的由来: 相信大多数人看到这个ProterDuff单词很奇怪了吧,这肿么个意思呢,然后就用有道啊,金山啊开始翻译,但是翻译软件给出的结果肯定 ...

  8. 手动建库时一个小错误:ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

    此前执行了CREATE SPFILE FROM MEMORY.  重新使用SPFILE启动时,出错如下: SYS@ bys3>startup ORA-32004: obsolete or dep ...

  9. 使用Python从Markdown文档中自动生成标题导航

    概述 知识与思路 代码实现 概述 Markdown 很适合于技术写作,因为技术写作并不需要花哨的排版和内容, 只要内容生动而严谨,文笔朴实而优美. 为了编写对读者更友好的文章,有必要生成文章的标题导航 ...

  10. 如何清除WebBrowser的Cookies

    var document = webBrowser1.Document; document.ExecCommand("ClearAuthenticationCache", fals ...