方法一:

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. 。。。IO流学习之二。。。

    fileReader的用法: import static org.junit.Assert.*; import java.io.File; import java.io.FileNotFoundExc ...

  2. Windows Phone 十九、罗盘

    磁力计概述 拥有磁力计硬件支持的设备可以根据磁力计来确定相对于北极的角度 磁力计的访问 API 定义在 Compass 类中 调用方式和加速计类似 <Grid Background=" ...

  3. Android -- 常见控件的小效果

    1,EditText控件 ① 修改光标颜色 自定义drawable 创建cursor.xml文件 <?xml version="1.0" encoding="utf ...

  4. ios 缺少合规证明

    现在app上传到appStore的时候,项目中如果出现加密,状态栏是:缺少合规证明. 解决的方法是在Info.plist文件中添加:ITSAppUsesNonExemptEncryption 设置为N ...

  5. winform、C# 自动更新

    用IIS或者是Tomcat搭建一个Web服务器,因为没有涉及到动态页面,所以用什么服务器无所谓,网上有太多资料,这里不再赘述. 废话不多说,直接上代码. HttpHelper, 访问网页,下载文件等 ...

  6. [Effective JavaScript 笔记]第45条:使用hasOwnProperty方法以避免原型污染

    之前的43条,44条讨论了属性的枚举,但都没有彻底地解决属性查找中原型污染的问题.看下面关于字典的一些操作 'zhangsan' in dict; dict.zhangsan; dict.zhangs ...

  7. DEV皮肤颜色获取

    Skin GridSkin = GridSkins.GetSkin(UserLookAndFeel.Default.ActiveLookAndFeel); evenColor = GridSkin[G ...

  8. mysql登陆问题

    1.centos6下mysql5.7的登陆问题 问题的描述:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using p ...

  9. asp.net timer viewstate

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  10. error: could not read CFBundleIdentifier from Info.plist (null)解决方法之一

    出现这种错误的原因可能很多,以下是我遇到的一种情况: 项目移植到新的环境 编译报错:  error: could not read CFBundleIdentifier from Info.plist ...