是的,您可以创建一个

Comparator来创建排序策略,或者定义实现

Comparable的类的自然顺序

作为旁注:

It is strongly recommended,but not strictly required that

(x.compareTo(y)==0) == (x.equals(y))

使用比较器的示例:

class MyClass {

private Color color;

private String someOtherProperty;

public static final Comparator colorComparator = new MyComparator();

//getter and setter

static class MyComparator implements Comparator{

@Override

public int compare(MyClass o1,MyClass o2) {

// here you do your business logic,when you say where a color is greater than other

}

}

}

并在客户端代码中.

例:

List list = new ArrayList<>();

//fill array with values

Collections.sort(list,MyClass.colorComparator );

如果你想定义你的类的自然顺序,只需定义

public class MyClass implements Comparable{

@Override

public int compareTo(MyClass o) {

// do business logic here

}

}

并在客户端代码中:

Collections.sort(myList); // where myList is List

java数组有顺序吗_java – 使用特定顺序对(数组)列表进行排序相关推荐

  1. java byte转int原理_java中int与byte数组互转代码详细分析

    在java中,可能会遇到将int转成byte[]数组,或者将byte[]数组转成int的情况.下面我们来思考下怎么实现? 首先,分析int在java内存中的存储格式. 众所周知,int类型在内存中占4 ...

  2. java数组插入一个数_java如何在一个有序的数组类插入一个数!

    第一种:依次与有序数组中的每个数进行比较,然后找到位置之后,定义一个新的数组,该信数组的长度加一,再使用system.arraycopy将于数组copy到新数组!import java.util.Ar ...

  3. Java实例化后自动执行_Java的实例化顺序(程序执行顺序)

    加载/执行顺序: 牢记一点: 静态和非静态分开处理 使用到静态加载时,静态又分为: 静态变量, 静态代码块, 其中加载顺序是按照类中书写的先后顺序加载的 非静态加载顺序: 按照非静态书写顺序加载/执行 ...

  4. java怎么判断string数组是否为空_java技术校验字符串、数组是否为空、空字符串...

    java开发中你经常会遇到的是字符串为空而抛出异常,这时候你就会想到如果有一个工具类可以校验一下如果是空或者是空字符串.我则跳过去不走这个方法或者返回错误信息.下面给大家分享校验空值.空字符串的几个方 ...

  5. java删除数组中指定元素_java学习中如何删除数组中的指定元素

    java的api中,并没有提供删除数组中元素的方法.虽然数组是一个对象,不过并没有提供add()remove()或查找元素的方法.这就是为什么类似ArrayList和HashSet受欢迎的原因. 不过 ...

  6. java 执行顺序混乱_java类执行顺序问题

    经常遇到的面试题,一个类继承另一个类然后问输出的结果是什么.个人觉得就是考类的输出问题(亲测) 第一:单一的类执行顺序 package Test; public class person { stat ...

  7. java list 截取部分数据_Java List.subList()方法:获取列表中指定范围的子列表

    集合类中的 List.subList() 方法用于获取列表中指定范围的子列表,该列表支持原列表所支持的所有可选操作.返回列表中指定范围的子列表. 语法: subList(int fromIndex,i ...

  8. java专业技能写什么_Java开发工程师专业技能范例列表

    专业技能(案例一) HTML.JavaScript.Jqery.Ajax.Css.EasyUi Spring.SpringMVC.Mybatis Strus2.hibernate SVN JSP.se ...

  9. java 数组减除值_java数组操作 - osc_hwpd2zko的个人空间 - OSCHINA - 中文开源技术交流社区...

    什么是数组: 程序 = 算法+数据结构 算法:解决问题的步骤,流程(顺序,分支,循环) 数据结构:将数据按照某种特定的结构来保存 数怎么存 设计良好的,合理的数据结构可以导致好的算法 数组:就是一种最 ...

最新文章

  1. Windows下PCL1.9.1配置(编译源码)
  2. 35岁的程序员是“都挺好”还是“都挺惨”?\n
  3. HTTP_HOST 和 SERVER_NAME 的区别
  4. 64位cad commondialog添加_常用软件分享PDF转CAD软件
  5. C++项目库包含,dll引用问题,直接把缺失的dll或库放置可执行文件里
  6. ASP.NET Web API 2 过滤器
  7. Android之解决AppBarLayout 下面一道阴影
  8. 工业交换机的价格为什么有高低之分?
  9. 【 CodeForces - 1060B 】Maximum Sum of Digits(思维,构造)
  10. 登上热搜!这可能是中国最穷的211大学
  11. 真快!iOS 15.4支持戴口罩解锁了:苹果终于满足iPhone用户需求
  12. (三)cmockery中的消息打印以及可变参数相关总结
  13. 面试题:synchronized的底层实现(偏向锁,轻量级锁,重量级锁)
  14. 七彩虹固态硬盘 慧荣SM2258XT主控开卡教程,SM2259XT2貌似差不多
  15. 缝隙天线简介[搬运]
  16. error C2084 函数“”已有主体
  17. 常犇_专访丨《河神》制片人常犇:走夜路不怕黑,做好剧别怕累
  18. Nebula Graph 招募社区布道师
  19. 运用京东云代码托管、云编译、云部署等产品进行蓝绿部署简单实践
  20. 【Unity学习笔记】Unity中的欧拉角(Euler Angle)和万向节(Gimbal)

热门文章

  1. C#LeetCode刷题-拒绝采样
  2. fitbit手表中文说明书_我如何分析FitBit中的数据以改善整体健康状况
  3. 正则至少一个数字_JavaScript学习笔记(十七)-- 正则
  4. ubuntu安装hadoop2.9.2
  5. win7 安装 Visual Studio 2015 出现 “Failed to install MSI package 等错误”
  6. python测试题 --- 列表元素处理
  7. 使用母版頁是內容如何使用CSS和javascript
  8. 2个通用js树型导航
  9. Asp.NET生成静态页面并分页
  10. 判断php图片是否存在,php判断远程图片是否存在