/**

#############################################################################

# DESCRIBE 关于给Vector,ArrayList和LinkedList特定List集合排序的方法

# AUTHOR

# DATE 2007-3-16

# COMPANY FLX

# PORJECT JAVA

#############################################################################

*/

import java.io.PrintStream;

import java.text.CollationKey;

import java.text.Collator;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collections;

import java.util.Comparator;

import java.util.List;

public class SortList {

public static void main(String args[]) {

String words[] = { "man", "Man", "Woman", "woman", "Manana", "manana", "ma?ana", "Ma?ana", "Mantra", "mantra",

"mantel", "Mantel" };

PrintStream out = System.out;

List list = new ArrayList(Arrays.asList(words));

out.println("传入的list:");

out.println(list);

out.println();

Collections.sort(list);

out.println("默认的sorting:");

out.println(list);

out.println();

list = new ArrayList(Arrays.asList(words));

Comparator comp = Collections.reverseOrder();

Collections.sort(list, comp);

out.println("反向sorting:");

out.println(list);

out.println();

list = new ArrayList(Arrays.asList(words));

comp = new CollatorComparator();

Collections.sort(list, comp);

out.println("自定义排序sorting:");

out.println(list);

out.println();

list = new ArrayList(Arrays.asList(words));

comp = new CaseInsensitiveComparator();

Collections.sort(list, comp);

out.println("按照语种sorting:");

out.println(list);

out.println();

}

/**

#############################################################################

#

# @DESCRIBE 自定义的排序规则

# @author Administrator

#

#############################################################################

*/

public static class CaseInsensitiveComparator implements Comparator {

public int compare(Object element1, Object element2) {

String lower1 = element1.toString().toLowerCase();

String lower2 = element2.toString().toLowerCase();

return lower1.compareTo(lower2);

}

}

/**

#############################################################################

#

# @DESCRIBE 按照语种进行排序的规则

# @author Administrator

#

#############################################################################

*/

public static class CollatorComparator implements Comparator {

Collator collator = Collator.getInstance();

public int compare(Object element1, Object element2) {

CollationKey key1 = collator.getCollationKey(element1.toString());

CollationKey key2 = collator.getCollationKey(element2.toString());

return key1.compareTo(key2);

}

}

}

java 排序工具类_List 排序 Java工具类详解相关推荐

  1. Java生产环境下性能监控与调优详解 第2章 基于JDK命令行工具的监控

    Java生产环境下性能监控与调优详解 第2章 基于JDK命令行工具的监控 2-1 JVM的参数类型 标准参数 x参数 XX参数 2-2 查看JVM运行时参数 2-3 jstat查看JVM统计信息 2- ...

  2. JAVA中的类和对象之this的详解

    系列文章目录 第一章 JAVA中的类和对象之this的详解 目录 前言 一.为什么要有this引用 二.this的三种用法 1.this.成员变量 2.this.成员方法 3.this()调用其它的构 ...

  3. java 三种将list转换为map的方法详解

    这篇文章主要介绍了java 三种将list转换为map的方法详解的相关资料,需要的朋友可以参考下 java 三种将list转换为map的方法详解 在本文中,介绍三种将list转换为map的方法: 1) ...

  4. java list 元素去重_小猿圈Java开发之list按照元素某个字段去重详解

    小猿圈Java老师给大家分享一篇关于如何实现Java8中list按照元素的某个字段去重的详细介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面我们一起来看一下吧. ...

  5. HTTP协议版本介绍以及使用Wireshark工具针对HTTP进行抓包分析详解

    一.http协议版本介绍 http:Hyper Text Transfer Protocol 超文本传输协议,是互联网应用最为广泛的一种网络协议,主要用于Web服务.通过计算机处理文本信息,格式为HT ...

  6. Java生产环境下性能监控与调优详解 大纲 学习感悟

    Java生产环境下性能监控与调优详解 生产环境发生了内存溢出如何处理? 生产环境应该给服务器分配多少内存合适? 如何对垃圾收集器的性能进行调优? 4.生产环境CPU负载飙高该如何处理? 5.生产环境应 ...

  7. 农夫过河算法java,Java农夫过河问题的继承与多态实现详解

    Java农夫过河问题的继承与多态实现详解 发布时间:2020-08-22 06:04:29 来源:脚本之家 阅读:61 作者:小任性嘛 题目描述: 一个农夫带着一匹狼.一只羊.一颗白菜要过河,只有一条 ...

  8. selenium工具启动Chrome浏览器时配置选项详解

    mb62abf3afb54fb2022-06-18 00:02:10 文章标签chromechrome浏览器加载文章分类虚拟化云计算阅读数1473 前言 1. Chromeoptions 是Chrom ...

  9. Java Web中的EL(表达式语言)详解

     Java Web中的EL(表达式语言)详解 表达式语言(Expression Language)简称EL,它是JSP2.0中引入的一个新内容.通过EL可以简化在JSP开发中对对象的引用,从而规范页面 ...

  10. Java中print、printf、println的区别 详解

    Java中print.printf.println的区别详解 printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和pr ...

最新文章

  1. java sort reverse_Java ArrayList sort() 方法
  2. Matlab中自定义函数(一)
  3. Vue -渐进式JavaScript框架
  4. 三种SQL分页查询的存储过程
  5. HTML和css学术报告,清华大学 张超 副教授访问我院并做学术报告
  6. 使用函数统计指定c语言,浙大版《C语言程序设计(第3版)》题目集 习题5-5 使用函数统计指定数字的个数...
  7. 一个程序员送给大学生的一些话
  8. (30)VHDL实现比较器(有符号)
  9. 数据传输服务 DTS > 数据迁移 > 从自建数据库迁移至阿里云 > 源库为MySQL > 从自建MySQL迁移至RDS MySQL
  10. 如何通过索引从列表中删除元素?
  11. 基于热传导方程的高温作业专用服装设计(三)
  12. Hadoop大数据技术原理与应用-第一章初识Hadoop
  13. Unity UI层级管理框架
  14. LAMP环境的搭建与部署
  15. Cocos2d-x教程(33)-三维物体AABB碰撞检测算法
  16. Influx Sql系列教程三:measurement 表
  17. 基于Java 生产者消费者模式(详细分析)
  18. redis sorted_set跳跃表(skiplist)
  19. java项目进度跟踪管理系统
  20. 不忍舍弃的回忆——我的大学时代

热门文章

  1. Linux之Debian下安装LAMP apt-get安装方式
  2. 计算机组成原理 陈泽,江西师范大学-计算机组成原理的期末复习.doc
  3. 子网、超网和无类域间路由
  4. python 两个乘号是什么_(2)Python 变量和运算符
  5. 一、pytorch搭建实战以及sequential的使用
  6. java 访问线程_java线程简介(共享对数据的访问)
  7. mysql tomcat idea操作_IntelliJ IDEA + Tomcat + RestFul + Mysql打造属于自己的服务器
  8. php redis key,redis 在 php 中的应用(key篇)
  9. pythonsuper多重继承_Python多重继承引发的问题——牛逼的super
  10. 【uni-app】uParse 富文本解析插件遇到长图、大图宽高比异常问题