java中如何实现自定义排序
来源:互联网 发布:加沙战争 知乎 编辑:程序博客网 时间:2024/06/10 13:07
解题中经常用到自定义排序,把这篇文章放到这里备用。
当需要排序的集合或数组不是单纯的数字型时,通常要用到两个接口Comparator或Comparable,以简单的方式实现对象排序或自定义排序。
一、Comparator
强行对某个对象collection进行整体排序的比较函数,可以将Comparator传递给Collections.sort或Arrays.sort。
接口方法:
/**
* @return o1小于、等于或大于o2,分别返回负整数、零或正整数。
*/
int compare(Object o1, Object o2);
例:
当需要排序的集合或数组不是单纯的数字型时,通常要用到两个接口Comparator或Comparable,以简单的方式实现对象排序或自定义排序。
一、Comparator
强行对某个对象collection进行整体排序的比较函数,可以将Comparator传递给Collections.sort或Arrays.sort。
接口方法:
/**
* @return o1小于、等于或大于o2,分别返回负整数、零或正整数。
*/
int compare(Object o1, Object o2);
例:
- import java.util.Arrays;
- import java.util.Comparator;
- public class SampleComparatorimplements Comparator {
- public int compare(Object o1, Object o2) {
- return toInt(o1) - toInt(o2);
- }
- private int toInt(Object o) {
- String str = (String) o;
- str = str.replaceAll("一", "1");
- str = str.replaceAll("二", "2");
- str = str.replaceAll("三", "3");
- //
- return Integer.parseInt(str);
- }
- /**
- * 测试方法
- */
- public static void main(String[] args) {
- String[] array = new String[] { "一二", "三", "二" };
- Arrays.sort(array, new SampleComparator());
- for (int i = 0; i < array.length; i++) {
- System.out.println(array[i]);
- }
- }
- }
- C:\hdu>java SampleComparator
- 二
- 三
- 一二
- java中如何实现自定义排序
- JAVA类中如何利用Comparator实现自定义排序
- Java数组排序中Comparator接口实现自定义排序
- TreeMap中如何实现自定义类key值的排序
- 使用Java中Comparator接口实现自定义排序
- java中利用Comparator接口实现自定义排序技巧。
- sql中实现自定义排序
- 【Java】Treeset实现自定义排序
- Java中自定义排序规则
- SQL如何实现自定义排序规则
- java中如何自定义线程
- Lucene 中自定义排序的实现
- SPARK中实现用户自定义排序
- java 两种方式实现自定义排序
- JAVA 利用Comparator实现自定义排序
- Java实现自定义对象的排序
- Java自定义比较器实现中文排序
- JAVA ArrayList利用Comparator实现自定义排序
- JS基础加强部分(二)
- 算法-数据结构面试100题
- 计算机专业的学生必须掌握的五门课程
- poj 2362 || zoj 1909 Square (DFS+剪枝)
- 让HTTP萌娘帮你记住状态码吧
- java中如何实现自定义排序
- JS基础加强部分(三)
- java Candar 日期使用
- HTML标签
- JAVA程序员不可不注意的编码规范
- java nio缓冲器(转)
- java使用socket实现http简单get请求
- 别人发的小例子log4j
- java求n小时候的时间