Java实现List集合排序
来源:互联网 发布:淘宝网总裁是谁 编辑:程序博客网 时间:2024/05/31 19:55
解决List集合中装一般类对象或是数组排序的问题:
package com.study.entity;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;/** * 实现List对象排序 * 方法有二: * 一:List对象(类实现comparable<T>接口,实现compareTo方法,最后调用Collections.sort(new List<T>())即可 * (注意这里比较的属性是引用类型不是基本数据类型,用Integer而不是int)) * * 二:调用Collection.sort()的重载的另一种方法 * Collections.sort(new List<T>(),new Comparator<T>(){实现里面的compareTo}); * @author pyi * */class Person implements Comparable<Person>{private String userName;private Integer order;public Person() {}public Person(String userName, Integer order) {this.userName = userName;this.order = order;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public Integer getOrder() {return order;}public void setOrder(Integer order) {this.order = order;}@Overridepublic int compareTo(Person arg0) {return this.getOrder().compareTo(arg0.getOrder());}}public class Test{public static void main(String[] args) {Person p1 = new Person("张三",1);Person p2 = new Person("李四",2);Person p3 = new Person("王五",3);List<Person> list = new ArrayList<>();list.add(p3);list.add(p2);list.add(p1);Collections.sort(list);/** * 张三 * 李四 * 王五*/for(Person p : list){System.out.println(p.getUserName());}System.out.println("----------惹人喜爱的分割线-----------");/** * 方法二(实现对Object数组的排序 * (在面对List里面装的不是类对象时,此时是不能用第一种方法的.无法实现类继承comparable<T>)) */Object[] obj1 = {"张三",1};Object[] obj2 = {"李四",2};Object[] obj3 = {"王五",3};List<Object[]> objList = new ArrayList<>();objList.add(obj3);objList.add(obj2);objList.add(obj1);for(Object[] o : objList){System.out.println(o[0]); //王五 李四 张三}Collections.sort(objList, new Comparator<Object[]>(){@Overridepublic int compare(Object[] arg0, Object[] arg1) {return Integer.valueOf(arg0[1].toString()).compareTo(Integer.valueOf(arg1[1].toString()));}});System.out.println("----------惹人喜爱的分割线-----------");for(Object[] o : objList){System.out.println(o[0]); //张三 李四 王五}}}
1 0
- Java实现List集合排序
- List集合实现自定义排序
- Java List集合冒泡法排序的两种实现
- Java 集合List的排序
- Java集合&List的实现
- java中LIST集合排序通用方法
- java将list集合冒泡排序
- Java对List集合的排序
- java 对List集合进行排序
- java list集合数据升序降序排序
- Java中对list集合进行排序
- java中list集合的排序
- java-Comparable排序(list集合)
- Java Map集合 转化为List 并为List排序
- Java集合之LinkedList(实现List接口)
- JAVA集合-List集合
- Java集合----List集合
- List集合内排序
- Ragel-基于有限状态机用于产生源码的编译器
- android studio如何使用git
- 评估酒店营销效果的12个重要KPI指标
- JavaScript实现跨域的几种方法
- Linux下制作bin、run等安装包
- Java实现List集合排序
- UVa - 679 - Dropping Balls(完全二叉树编号)
- log4j日志记录级别是如何工作?
- 【重头学java系列01】面向对象
- 一个简单的虹膜定位程序
- POJ1163 The Triangle
- C++随笔--A题:括号配对问题
- 自动化运维概述
- MyCat:开源分布式数据库中间件