按特定顺序对(数组)列表进行排序

2024-03-24

我有一个对象列表,我想按照定义的顺序对其进行排序。 对于前。我有一个带有字段的对象String color。我想在颜色字段上对我的列表进行排序,以便它总是首先是白色,然后是蓝色,然后是黄色,然后是所有其他(如果可能的话,alpha.ordered但不是必需的):

Before sorting:         After sorting:
orange                  white
white                   blue
green                   yellow
brown                   orange
yellow                  black
black                   brown
...                     ...

有没有一种(简单的)方法可以做到这一点?

EDIT:

我必须添加一个复杂的情况......
如果可以有更多具有相同名称/基数的颜色怎么办?对于前。白色X、白色Y、白色Z、蓝色A、蓝色B、...
所有白色必须先于所有蓝色、所有黄色以及所有其他颜色。仍然可以用比较器来解决这个问题吗? (我无法想象如何...)


这是另一个选择:

Map<Integer, String> tree = new TreeMap<Integer, String>();
    List<String> listOrdre = Arrays.asList("white", "blue", "yellow", "orange", "black", "brown");
    List<String>   myList  = Arrays.asList("orange", "white", "brown", "yellow", "black");

    for (String code : myList) {
        tree.put(listOrdre.indexOf(code), code);
    }

    System.out.println(tree.values()); // -> [white, yellow, orange, black, brown]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按特定顺序对(数组)列表进行排序 的相关文章

  • 通过 RMI 的服务器,无需注册

    我有一个可以通过 RMI 连接的服务对象 目前我正在这样做 Server Registry r LocateRegistry createRegistry 1234 r bind server UnicastRemoteObject exp
  • Encog - 如何加载神经网络的训练数据

    The NeuralDataSet我在实际中看到的对象除了 XOR 之外什么都没有 它只是两个小数据数组 我无法从文档中找出任何内容MLDataSet 似乎所有内容都必须立即加载 但是 我想循环遍历训练数据 直到到达 EOF 然后将其算作
  • 当目标是属性时,@Throws 不起作用

    在看的同时这个问题 https stackoverflow com q 47737288 7366707 我注意到申请 Throws to a get or setuse site 没有影响 此外 唯一有效的目标 for Throws ar
  • 如何在 Java 中用 \n 替换 \\n

    我有一个string test first n middle n last 现在我想更换所有 n by n 我试过了test replaceAll n n and test replaceAll n n 但它们不起作用 有人有解决办法吗 T
  • 具有 JPA、PostgreSQL 和 NULL 值的 JodaTime

    我试图将 JPA 的 JodaTime DateTime 字段保留到 PostgreSQL 但遇到了指向数据库 NULL 值的空指针的问题 我正在使用 NetBeans 7 beta 2 IDE 持久性实现是 EclipseLink 2 2
  • Java SWT 用户输入验证

    在 SWT 中进行用户输入验证时 Java 约定是什么 我读到有 FieldEditors 它们是非常方便的字段 但遗憾的是仅适用于首选项和对话框 我还了解到有一个 IValidator 接口 但它经常与数据绑定一起使用 就我而言 我的大多
  • kafka消费端Offsets的一致性

    我有复制因子为 3 的卡夫卡主题min insync replicas 2 一个向该主题发送 X 条消息的生产者acks all 一段时间后 1 分钟内 在所有消息发送到主题后 将使用 java kafka 客户端为此主题创建新的消费者 使
  • 自动检测log4j静态初始化错误的方法

    请注意 这更像是 Bash 问题 而不是 Java 问题 请参阅下面的注释 在每个类中配置log4j时 我们执行以下操作 public class Example private static final Logger log Logger
  • 在 JUnit 测试中读取资源文件

    我在单元测试中读取文本文件 并将一些输入文本文件放置在资源文件夹中 以下是目录结构 src gt com gt au gt myapp gt util gt MyFileReader 测试 gt com gt au gt myapp gt
  • Android 改造参数化@Headers

    我正在使用 OAuth 每次发出请求时都需要将 OAuth 令牌放入标头中 我看到 Header注释 但是有没有办法让它参数化 以便我可以在运行时传入 这是概念 Header Authorization OAuth var api vers
  • 如果在构造函数中使用 super 调用重写方法会发生什么

    有两个班级Super1 and Sub1 超1级 public class Super1 Super1 this printThree public void printThree System out println Print Thre
  • 使用 sapply 的列表和矩阵

    我有一个也许是基本的问题 我在网上搜索过 我在读取文件时遇到问题 尽管如此 我还是按照 Konrad的建议设法读取了我的文件 我很欣赏这一点 How to get R to read in files from multiple subdi
  • 如何在 Google 地图中创建自定义地图?

    我正在尝试创建一个包含我家地图的 Google 地图应用程序 卧室 浴室 厨房等 使用 GPS 我会找到我现在在家里的位置 并尝试获取到我卧室的方向 步行距离 您可以使用Google的API来获取方向 我需要知道的是 如何添加我家的自定义地
  • java.lang.NoClassDefFoundError: org/apache/commons/cli/ParseException

    我想将 apache cli 添加到我的应用程序中 但我有问题 当我尝试运行它时显示这些错误 Error A JNI error has occurred please check your installation and try aga
  • Guava MultiSet 与 Map?

    我对Multiset的理解是一个带有频率的集合 但是我总是可以使用Map来表示频率 还有其他原因使用Multiset吗 优点Multiset
  • 表达式的类型必须是数组类型,但它解析为浮点数

    当我编写 Java 代码时 我遇到了困难 我觉得我不知何故把这个概念弄乱了 就像我不确定这一点 void setScore float sco sco score public void setScore float sco int id
  • 使用基于Optional内容的流

    我从不受我控制的服务获取可能为空的地图 并且想要处理它 比方说 过滤 映射并减少到我需要的单个元素 问题 是否有从Optional到Stream的 链接 我尝试过 除其他外 return Optional ofNullable getMap
  • POJO 支持使用omnifaces 自动完成primefaces

    我正在尝试在我的项目中使用 primefaces 自动完成组件 以避免将特定转换器写入我尝试使用的每个列表对象全能面孔 http showcase omnifaces org converters ListConverter如建议的here
  • 如何在 Android 上设置 Google Drive API?

    我一直在尝试将 Google Drive 功能集成到我的应用程序中 但我无法使用任何内置功能 因此我相信我要么错过了一个步骤 要么做得不正确 我正在遵循官方的 Google 开发者指南 https developers google com
  • Java:将秒转换为分钟、小时和天[重复]

    这个问题在这里已经有答案了 任务是 输出应如下所示 最好回显输入 您输入了 500 000 秒 即 5 天 18 小时 53 分钟 20 秒 5天18 53 20小时 我该怎么做呢 最容易理解和做到的方法是什么 讲师还说 没有硬编码 我不太

随机推荐

  • 如何使 F# 脚本文件和其他脚本语言在 Windows 中像 .exe、.cmd 和 .bat 文件一样工作

    可以配置 F 脚本文件 以便可以直接调用它们 而无需直接指定脚本运行程序应用程序及其文件扩展名 并且可以通过命令 PATH 环境变量进行访问 操作步骤如下 使用 Windows 资源管理器将特定脚本引擎设置为脚本文件类型扩展名的默认 打开方
  • CDI @Produces 具有多个属性文件

    感谢这篇文章 https stackoverflow com a 28047512 1227941 https stackoverflow com a 28047512 1227941我现在使用 CDI 使 msg 在我的 Named be
  • 在 C# windows 服务中捕获键盘事件

    我用 C 创建了一个 Windows 服务 如何在按下某个键时调用一个函数 并在该函数中获取该键的值 我需要它来按下键和按下键 我的目标是在按下特定系列的键时发送电子邮件 例如 如果您按 h e l l o 无论您在桌面上的哪个位置键入 程
  • TFS 2017 发布管理:如何显示发布下任务的父 PBI

    有没有办法在 TFS2017 下的列表中显示发布下的任务工作项的父 PBI The screenshot below shows two tasks associated with Release 3 Here I wish to be a
  • cipher 中 update() 和 dofinal() 方法之间的区别

    我读过一篇关于密码中 update 和 dofinal 方法之间差异的文章 这是关于如果我们想要加密 4 字节数组 当密码的块大小为 8 字节 时会发生什么 如果我们在这里调用 update 它将返回 null 我的问题是 如果我们用 4
  • 使用 Maven 和 IntelliJ 在 tomcat 中运行应用程序

    如果不使用 maven 要从 Intellij IDE 在 tomcat 上运行应用程序 您所要做的就是创建一个工件和指向该工件的 tomcat 运行配置 这样您就可以看到 tomcat 输出 重新启动服务器等就在 IDE 中 现在使用ma
  • 过渡状态图 R

    我的数据看起来像这样 输出dput sequence data structure list Obs 1 13 Seq 1 structure c 1L 1L 1L 1L 2L 2L 2L 2L 2L 2L 3L 3L 3L Label c
  • 使用 FFMPEG 将音频(带有偏移量)添加到视频

    我有一个 10 分钟的视频和一个 50 分钟的音频 mp3 视频从音频第 500 秒开始 使用 FFMPEG 如何将音频添加到视频但指定500 秒音频偏移 以便他们同步 EDIT 在这个底部page http howto pages org
  • 灰度图像到 NumPy 数组进行傅里叶变换

    目前我正在使用 PIL 和 NumPy 我有一个彩色的png图像 我想要 以灰度读取 转换为 NumPy 数组 对阵列执行 FFT 显示图像 这就是我正在尝试的 在 IPython w pylab flag In 1 import Imag
  • 如何使用多处理模块杀死进程?

    我有一个进程本质上只是一个无限循环 我有第二个进程是一个计时器 定时器完成后如何终止循环进程 def action x 0 while True if x lt 1000000 x x 1 else x 0 def timer time t
  • 如何通过另一种方法动态地将元素添加到反应器热通量中?

    我有一个数据源服务 它接受观察者作为参数 void subscribe Consumer onEventConsumer 我想使用 Flux 作为 RSocket 的响应流 我怎样才能做到这一点 我现在看到的应该是这样的 Flux
  • C# 中文字的算术运算是否在编译时计算?

    非常简短的问题 但我现在无法在网上找到解决方案 int test 1 2 Will 1 2在运行时或编译时执行 询问原因 我认为大多数人有时会使用文字而不指定其使用原因或含义 因为他们不想通过运行计算来浪费一点性能 并且我相信计算发生在编译
  • 无法访问 Azure 文件共享 |端口 445

    我已经设置了 Azure 存储文件 并在我的开发计算机中添加了一些防火墙规则来打开端口 445 但我现在无法访问我的文件共享 它也不响应 ping 命令 但我可以从 Azure VM IaaS 服务器访问相同的文件共享 有什么我错过的吗 不
  • ASP.NET MVC 3 - 如何从数据库填充单选按钮列表

    在 Asp net MVC 3 中 我的单选按钮设置如下 div class editor label Html LabelFor m gt m Roles div div class editor field Html RadioButt
  • 从 iOS 14 小部件的 CoreData 获取数据

    我想在小部件中显示从核心数据获取的数据 但 FetchRequest不适用于小部件 据我了解 我们必须创建一个应用程序组并创建一个共享的持久容器 我想知道的是如何从共享的持久容器中读取 获取 小部件上的数据 或者简单地 如何在小部件中显示从
  • Sublime Text 3 控制台中的 Unicode 编码错误

    我总是得到一个 UnicodeEncodeError ascii 编解码器无法对位置 0 处的字符 xf6 进行编码 序号不在范围 128 中 当尝试打印非 ASCII 字符时 在 Sublime Text 3 控制台中 我正在使用 Ana
  • 如何使用 NetworkX 获得加权图中的最短路径?

    我试图在定义为的加权图中获得最短路径 import networkx as nx import matplotlib pyplot as plt g nx Graph g add edge 131 673 weight 673 g add
  • Sugar ORM for Android 找不到我的列名

    好吧 我正在尝试选择所有实体entitie id some id 我用这个规则来做到这一点 List
  • TinyMCE 4 与 elFinder

    有人已经尝试将 elFinder 集成到新的 4b1 版本的 TinyMCE 中吗 看起来像previous http www tinymce com wiki php how to implement a custom file brow
  • 按特定顺序对(数组)列表进行排序

    我有一个对象列表 我想按照定义的顺序对其进行排序 对于前 我有一个带有字段的对象String color 我想在颜色字段上对我的列表进行排序 以便它总是首先是白色 然后是蓝色 然后是黄色 然后是所有其他 如果可能的话 alpha order