对自定义对象的向量进行排序

2024-02-26

我正在尝试在 java 中对 Vector 进行排序,但我的 Vector 不是 int 向量,它是对象向量

对象是:

public MyObject() {
    numObj = 0;
    price = new Price();
    pax = new Pax();        
}

所以我有一个Vector of MyObject我想通过以下方式订购numObject,我该怎么做,我是java新手?

非常感谢您的帮助。


我假设你正在使用Collections.sort(..)。您有两个选择:

  • 让你的班级实现Comparable http://java.sun.com/javase/6/docs/api/java/lang/Comparable.html
  • 排序时,创建自定义Comparator http://java.sun.com/javase/6/docs/api/java/util/Comparator.html

实施示例Comparable将会:

public class MyObject implements Comparable<MyObject> {
   // ..... other fields and methods
   public int compareTo(MyObject other) {
        return numObj - other.getNumObj();
   } 
}

这意味着项目按升序排序。如果您想要其他自定义排序,您可以创建一个Comparator定义自定义比较并将其作为参数传递给Collections.sort(..);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对自定义对象的向量进行排序 的相关文章

随机推荐

  • 有符号和无符号整数表达式的比较

    我刚刚开始使用 OpenGL 这是我的第一个代码 OpenGL hello program include
  • 如何确定复选框列表已选中/选中 -

    当我执行代码时 我得到 4 个复选框 并且我选中 选择了所有 4 个复选框 当我尝试调试代码时 它确实算作我有 4 个复选框 但所有 4 个复选框都被选中 false 我在代码中缺少什么
  • 检测项目中的循环依赖

    上次我在我的项目中发现了循环依赖问题 我解决了我的问题 但是我希望将来避免这种情况 我想到了在我的所有项目中发现循环依赖项并给我反馈的插件 Example 文件a js var functionFromA require b js cons
  • 如何增加 SwiftUI 选择器中显示的最大行数?

    我正在尝试创建一个 SwiftUI 选择器 用户可以使用它来选择 1000 到 20000 之间的数字 以 1000 为增量 例如 1000 2000 3000 20000 默认情况下 SwiftUI 选择器只能容纳 10 行文本 如何允许
  • 保存数据的最佳方法 - 首选项、sqlite、可序列化还是其他?

    我一直在研究在回合之间保存游戏数据的替代方法 并且想知道是否有人可以为我指明正确的方向 我有大约 32k 的数据必须在 onPause 期间保存 由于数据量巨大 我排除了偏好 我花了几天时间研究 SQLite 但无法在不到两秒的时间内保存数
  • Shellcode:执行 2 次 execve() 调用

    我正在尝试用汇编语言编写 shellcode 我需要执行一个 usr bin killall命令与 usr bin wget命令 我的两个命令都在 shellcode 中完美运行execve 系统调用 但现在我想将这两个结合起来 但这是不可
  • 在 Node.js 中从 SQLite 获取表列表

    下面的代码仅返回第一个表的名称 如何获取现有表中所有可用表名称的列表sqlite const sqlite3 require sqlite3 verbose const db new sqlite3 Database path to myd
  • 如何提高 OpenMP 代码的性能?

    我目前正在尝试提高我的代码的并行性能 但我对 OpenMP 仍然是新手 我必须迭代一个大容器 在每次迭代中从多个条目读取并将结果写入单个条目 下面是我正在尝试做的一个非常简单的代码示例 data是一个指向数组的指针 其中存储了许多数据点 在
  • 使用 pip 安装 Twisted for Python:错误:Microsoft Visual Studio 失败,退出状态为 2

    当我尝试在运行 python3 7 的 Windows 10 计算机上安装 python 包 Twisted 时 我无法从 tarz 文件构建 Wheel 最终得到以下输出 C Program Files x86 Microsoft Vis
  • 如何使用 knit 和 pandoc 在 R Markdown 中包含 DT 数据表的 js 依赖项

    有没有办法在 RStudio 之外使用 DT 生成的数据表来编译 RMarkdown 文档 我试图在 RMarkdown 文档中包含一个数据表小部件 然后我想使用 knit 和 pandoc 将其转换为 html 这对于 RStudio 来
  • Datetime.ParseExact“字符串未被识别为有效的日期时间”错误

    为什么我无法解析这样的字符串 DateTime date DateTime ParseExact 23 02 2016 08 59 35 dd MM yyyy HH mm ss CultureInfo InvariantCulture 它抛
  • 如何将下面的JS转换为JQuery? [复制]

    这个问题在这里已经有答案了 我很难将以下 JS 转换为 JQuery 我的项目有一个 HoverMediv 将其悬停在其中以显示其中的内容 hidden div 我有一个运行良好的 JS 脚本 这个问题 作者 anied https sta
  • 如何将 Laravel 7 连接到 Microsoft SQL Server?

    我真的很惊讶 Laravel 文档对于解释如何连接到 MS SQL Server 的限制 我认为有两个区域需要配置 env 文件和database php 与 Laravel 7 相比 网络上的大多数示例都没有显示相同的格式 我想知道在哪里
  • 优化编译器中的常量组合

    我有一个包含许多小型内联函数的头文件 他们中的大多数碰巧拥有恒定的数据 由于这些函数对性能至关重要 因此它们处理常量的方式变得很重要 AFAIK 有两种方法来引用常量 1 在稍后与应用程序链接的单独源文件中定义它们 2 就地定义常量 我会选
  • Powershell 转换为 Json 格式错误

    我正在使用 win shell 将 powershell 输出转换为 json 格式 以便稍后可以对其进行过滤 问题是我的 Json 格式很糟糕 这是代码 win shell Get ChildItem Path
  • Java FileWriter如何写入下一行

    我使用下面的代码将记录写入文件 记录可以写入文件中 但附加在一行中 每次我调用此方法示例 你好世界你好世界你好世界你好世界 如何修改代码 使输出如下所示 以便在读取文本时我可以使用 line hasNextLine 进行检查 你好世界你好世
  • 最新的(开源)聊天机器人/假人工智能?

    开源聊天机器人 假人工智能 技术 的最新进展是什么 ELIZA ALICE MegaHAL 仍然是 当前 吗 或者在过去十年中是否取得了任何进展 ChatScript 是我发现的用于开发会话代理的最佳开源工具 BSD 许可证 https g
  • 动态添加内容到面板

    可能是我的 javascript 能力不够 我正在尝试将列表 通过 javascript 添加项目 动态增强到 jquery 移动面板 下面的代码是该功能的工作 非工作 示例 完整的项目会有点太多的开销 并且您需要一些串行连接的设备来运行它
  • 未来 F# 是否有可能比其他 .Net 语言得到更多优化?

    Microsoft 是否有可能使 F 程序在 VM 执行时或更可能在编译时检测到程序是使用函数式语言构建的并自动更好地并行化它 现在我相信没有这样的努力来尝试和自动执行作为单线程程序构建的程序作为多线程程序 也就是说 开发人员将编写一个单线
  • 对自定义对象的向量进行排序

    我正在尝试在 java 中对 Vector 进行排序 但我的 Vector 不是 int 向量 它是对象向量 对象是 public MyObject numObj 0 price new Price pax new Pax 所以我有一个Ve