蛮力方式:

public final class ColorComparator implements Comparator {

@Override

public int compare(Color c1, Color c2) {

float[] hsb1 = Color.RGBtoHSB(c1.getRed(), c1.getGreen(), c1.getBlue(), null);

float[] hsb2 = Color.RGBtoHSB(c2.getRed(), c2.getGreen(), c2.getBlue(), null);

if (hsb1[0] < hsb2[0])

return -1;

if (hsb1[0] > hsb2[0])

return 1;

if (hsb1[1] < hsb2[1])

return -1;

if (hsb1[1] > hsb2[1])

return 1;

if (hsb1[2] < hsb2[2])

return -1;

if (hsb1[2] > hsb2[2])

return 1;

return 0;

}

}

一个非常简单的,没有想到办法做到这一点,如果你可以使用谷歌番石榴库为:

public final class ColorComparator extends Ordering {

@Override

public int compare(Color c1, Color c2) {

float[] hsb1 = Color.RGBtoHSB(c1.getRed(), c1.getGreen(), c1.getBlue(), null);

float[] hsb2 = Color.RGBtoHSB(c2.getRed(), c2.getGreen(), c2.getBlue(), null);

return ComparisonChain.start().compare(hsb1[0], hsb2[0]).compare(hsb1[1], hsb2[1])

.compare(hsb1[2], hsb2[2]).result();

}

}

我在说的只是环数组并对它们进行比较(或者使用Guava中的词典排序),但是您可能想要改变排序顺序。

Java中RGBtoHSB_HSV/HSB颜色排序列表相关推荐

  1. java中如何对对象排序?

    大家好,我是雄雄. 前言: 我们知道,在平时做项目的过程中,我们总会用到各种各样的排序,或是升序,或是降序.在java中,要实现排序有好多中方式,比如我们耳熟能详的冒泡排序.选择排序等,但是我们一般都 ...

  2. java中的五种排序方法_用Java排序的五种有用方法

    java中的五种排序方法 Java排序快速概述: 正常的列表: private static List VEGETABLES = Arrays.asList("apple", &q ...

  3. Java中怎样创建数据库_在java中怎样创建MySQL数据库列表给个例子 爱问知识人

    java中怎样创建MySQL数据库列表 需要使用jdbc访问数据库. 具体步骤如下: 1:加载驱动 ,返回连接 private static final String DRIVER_CLASS = & ...

  4. [转载] java中对数组进行排序_如何在Java中对数组排序

    参考链接: Java中main()的有效变体 java中对数组进行排序 Java Array is like a container that can hold a fixed number of t ...

  5. java中对数组进行排序_如何在Java中对数组排序

    java中对数组进行排序 Java Array is like a container that can hold a fixed number of the same type of items, ...

  6. JAVA中JVM的重排序详细介绍(写得很明白)

    刚刚在研究volatile变量的时候,涉及到重排序的概念,于是发现了这篇很好的文章,写得很简短很明白.所以转载一下. 原文地址:JAVA中JVM的重排序详细介绍 原文贴出来: 重排序通常是编译器或运行 ...

  7. JAVA中的集合与排序

    一:常见的集合类 Collection接口  和   Map接口 Collection ①:collection是最常见的集合的上级接口. ②:继承自collection的常用接口有List,Set, ...

  8. java compareto方法怎么排序的_深入理解Java中Comparable和Comparator排序

    本文有牛旦教育原创,头条首发,转载注明来源. 如何为需要的排序算法选择正确的接口?通过本文的分析讲解,我们会找到答案参考答案. 程序员经常需要将数据库中的元素排序为集合.数组或映射.在Java中,我们 ...

  9. Java中实现的各种排序算法

    Java中的冒泡排序算法 package cn.edu.hactcm; /** * 冒泡排序算法 */ public class BubbleSortDemo { public static void ...

最新文章

  1. 电脑安装python失败-解决“Windows 7 Python3.6 安装失败”问题
  2. 获取网络时间并刷新本地时间(源码2)
  3. when is MethodInterceptorFilter created Java反射研究
  4. rsync 配置详解
  5. java 联合_如何在java中进行联合,相交,区分和反向数据
  6. python seaborn 散点图矩阵_Kaggle、Python数据可视化seaborn(四):散点图
  7. lstm训练情感分析的优点_「情感分析领域」简单调研
  8. 现在出纳记账手写还是用计算机,出纳现金日记账的手写样本
  9. 在线世界地图生成器 pixelmap可调色
  10. 智慧酒店客房控制系统开发提高酒店管理效率和服务质量
  11. 计算机硬盘介绍,硬盘简介 - 硬盘使用知识大全(1)
  12. internet信息服务器管理器,细述Win10系统上开启internet信息服务(iis)管理器的操作步骤...
  13. 《Python股票量化交易从入门到实践》学习记录
  14. 怎么给照片加水印?今天教你一个方法
  15. 从0到1 用腾讯云低代码开发一个问卷小程序(基于模版中心二开)
  16. 如何用几何画板画绕点旋转动画
  17. 【C语言经典100题】求a+aa+aaa+....的值
  18. 解决ios浏览器视频无法播放问题
  19. Java 性能调优 概念详解 小白教程
  20. 驻极体MIC并联与串联

热门文章

  1. 至简设计系列_按键控制数字时钟
  2. 小米商城项目——首页跳转到登录页面或注册页面的制作分析
  3. python中div是什么意思_python中divmod是什么
  4. leetcode 19. 删除链表的倒数第 N 个结点(c++)
  5. App启动就闪退引发的深思
  6. 人工智能导论——遗传算法求解TSP问题实验
  7. 阿里巴巴java工程师应聘条件_【全国】—前端/Java工程师—阿里巴巴(长期招聘)...
  8. CentOS7密码忘记如何强制修改root密码
  9. Arduino+nRF24L01接收端(二)
  10. 使用stream流进行集合排序取最大值,根据集合中的bigdemal属性排序(正序反序)并取最大值