list对象排序问题

public class ListSort {
    public static void main(String[] args) {
      List<User> userList = new ArrayList<>();
      userList.add(new User("dd", 4));
      userList.add(new User("aa", 6));
      userList.add(new User("ee", 5));
      userList.add(new User("gg", 6));
      List<User> userList2 = new ArrayList<>();
      userList.add(new User("vv", 10));
      userList.addAll(userList2);

      Collections.sort(userList, new Comparator<User>() {
      @Override
      public int compare(User o1, User o2) {
          if (o1.getAge() > o2.getAge()) {
              return -1;
          }
          if (o1.getAge() == o2.getAge()) {
              return 0;
          }
          return 1;
        }
      });

      for (User user : userList) {
          System.out.println(user.getAge() + "," + user.getName());
      }
  }

  class User {
      String name;
      Integer age;
      public User(String name, Integer age) {
          this.name = name;
          this.age = age;
      }
      public Integer getAge() {
          return age;
      }
      public String getName() {
          return name;
      }
  }
}
时间: 2024-10-10 16:09:57

list对象排序问题的相关文章

java 交换排序之(冒泡排序、快速排序)

2016年上班第一天,闲来无事,先写篇博文来结束今天.我们大家都知道java的排序算法很多,接下来我就先看看java最常用的几种排序算法的思想源码附上.(本文所有排序只针对值排序,关于对象排序问题待续.....) 1.插入排序(直接插入排序.二分法插入排序.表插入排序.shell排序) 2.选择排序(直接选择排序.堆排序) 3.交换排序(冒泡排序.快速排序) 4.分配排序(基数排序) 5.归并排序(内排序.外排序) 一.java冒泡排序实现(大家最喜欢也是最简单的排序算法,但是性能不是那么ok

关于js 对象 容易被忽视的排序问题

在js中 object 笼统的理解可以是 key 和 value的对应集合. 比如  {key1 : value1,key2 : value2} 而数组是索引(index) 和数值的集合,如[a1,b1,c1] ,索引 0,1,2对应的数值分别是a1,b1,c1 我们知道在js中 数组是对象中的一种特殊形式,上面的列子也大概能够反映出数组和对象的一些关系和区别. 接下来就谈一谈数组和对象之间容易被我们忽视的排序问题. var object1 = {'2':'b','3':'c','1':'a'}

Java集合框架总结(3)——TreeSet类的排序问题

Java集合框架总结(3)--TreeSet类的排序问题 TreeSet支持两种排序方法:自然排序和定制排序.TreeSet默认采用自然排序. 1.自然排序 TreeSet会调用集合元素的compareTo(Object obj)方法来比较元素之间大小关系,然后将集合元素按升序排列,这种方式就是自然排序.(比较的前提:两个对象的类型相同). java提供了一个Comparable接口,该接口里定义了一个compareTo(Object obj)方法,该方法返回一个整数值,实现该接口的类必须实现该

java集合排序问题

List: 元素是有序的,元素可以重复,因为该集合体系有索引(脚标) 常用的子类对象: 1----ArrayList 底层的数据结构是使用的数组结构特点:查询速度快,但是增删比较慢 2----LinkedList底层的数据结构使用的是链表结构特点:增删速度快,但是查询比较慢 Vector 底层是数组数据结构. 线程同步,ArrayList线程不同步,替代了vector ArrayList 是可变长度数组,默认长度是10,当添加的元素大于10时,系统自动new一个新的数组且增长原数组的一半长度,并

Java学习-046-日志抓取合并后排序问题解决方案之 --- log4j 二次定制,实现日志输出添加延时10ms

自3月25至今,已经好久没有写学习日志了,今天在写日志抓取合并的小方法,发现抓取后的日志并米有依据系统执行的日志顺序排序.日志抓取排列逻辑如下: 通过日志标识,从各个日志文件(例如 use.log,error.log 等)中获取所需日志列表 合并日志列表 升序排序 输出日志报告 结果最后获取日志信息后,发现实际产出结果与预期结果不相符,如下所示: 1 2016-04-10 22:54:23,042 - INFO - [main] [cn.ffp.autotest.api.report.Repor

java hashtable 排序问题

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Hashtable<String, String> h = new Hashtable<String, String>(); h.put("6", "666"); h.put("8", "888"); h.put("2", "222"); <br>for (Stri

【转】由2个值组合成key的STL map排序问题

转自:http://blog.csdn.net/pathuang68/article/details/7526305 某网友问:"map中怎么设置多个key值进行排序?" 在C++中,map是典型的关联容器或者叫映射容器(associative container),其中的每一个元素都是由key-value这样成对出现的内容组成的,比如学号和学生之类具有一一对应关系的情形,学号可以作为key,学生对象可以作为key所对应的value.很显然这种情况下的key只有一个值,但是,在实际工作

NSMutableDictionary 排序问题

NSMutableDictionary 默认情况下是按字母的顺序进行排序的 (a-z)的默认排序如何自定义排序呢? 第一种,利用数组的sortedArrayUsingComparator调用 NSComparator ,obj1和obj2指的数组中的对象 示例: //声明一个数组 NSArray *sortArray = [[NSArray alloc] initWithObjects:@"1",@"3",@"4",@"7",

通过jQuery Ajax使用FormData对象上传文件

转自:http://www.cnblogs.com/labnizejuly/p/5588444.html FormData对象,是可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单". <form id="uploadForm" enctype="multipart/form-data"> <input id="file" type="file"