如何为 BitSet 类型的元素创建 SortedSet(例如 TreeSet)

2024-02-27

我有一个号码(power(2,k))BitSet 对象,我想将它们存储在SortedSet。我使用代码:

Set <BitSet> S= new TreeSet<>();

但是,我收到此错误:java.lang.ClassCastException: java.util.BitSet cannot be cast to java.lang.Comparable

如何实现类似的接口?或者有没有其他方法对这些类型元素进行排序BitSet?


有两种方法可以使用TreeSet.

  1. 让它包含实现的对象Comparable
  2. 有一个习惯Comparator比较你的元素的对象TreeSet.

既然你想拥有你的TreeSet包含BitSets, and BitSet不实施Comparable,你需要给你的TreeSet一个习俗Comparator。你如何实施Comparator你决定。

SortedSet<BitSet> s = new TreeSet<BitSet>(new CustomBitSetComparator());
s.add(bitSet1);
s.add(bitSet2);
//etc ...

比较器可能看起来像这样

class CustomBitSetComparator implements Comparator<BitSet>{
    int compare(BitSet a, BitSet b) {
        if(a == b){
            return 0;
        } else if(a == null) {
            return -1;
        } else if(b == null) {
            return 1;
        } else if(a.equals(b)) {
            return 0;
        } else if(a.length() > b.length()) {
            return 1;
        } else if(b.lenght() > a.length()) {
            return -1;
        } else {
            for(int i = 0; i < a.length(); i++) {
               if(a.get(i) != b.get(i)) {
                   if(a.get(i)) {
                      return 1;
                   } else {
                      return -1;
                   }
                }
             }
             return 0;
         }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为 BitSet 类型的元素创建 SortedSet(例如 TreeSet) 的相关文章

  • 我是否需要安装 SQLite 才能使 SQLiteJDBC 正常工作?

    我想我只是没有 明白 如果我的计算机上尚未安装 SQLite 并且我想编写一个使用嵌入式数据库的 Java 应用程序 并且我将 SQLiteJDBC JAR 下载 导入到我的项目中 那么这就是我所需要的吗 或者 我是否需要先安装 SQLit
  • java中监视目录变化

    我正在使用 WatchService 来监视目录中的更改 特别是目录中新文件的创建 下面是我的代码 package watcher import java nio file import static java nio file Stand
  • 如何在由子控件组成的 SWT 复合材料上跟踪鼠标?

    我创建了自己的控件 我想跟踪鼠标并添加一个MouseTrackListener 很遗憾MouseEnter and MouseLeave当鼠标移动到我的合成部分 即标签和按钮 上时 也会生成事件 Mouse enter mouse ente
  • 垃圾收集器如何在幕后工作来收集死对象?

    我正在阅读有关垃圾收集的内容 众所周知 垃圾收集会收集死亡对象并回收内存 我的问题是 Collector 如何知道任何对象已死亡 它使用什么数据结构来跟踪活动对象 我正在研究这个问题 我发现GC实际上会跟踪活动对象 并标记它们 每个未标记的
  • Thymeleaf 3 Spring 5 映射加载字符串而不是 HTML

    我正在尝试将 Spring 5 和 Thymeleaf 3 一起配置 我正在 Eclipse 上工作 我使用 全新安装 构建并使用 springboot run 运行应用程序 我已经设置了一个控制器和几个模板 但 Thymeleaf 似乎找
  • 将巨大的模式编译成Java

    有两个主要工具提供了将 XSD 模式编译为 Java 的方法 xmlbeans 和 JAXB 问题是 XSD 模式确实很大 30MB 的 XML 文件 大部分模式在我的项目中没有使用 所以我可以注释掉大部分代码 但这不是一个好的解决方案 目
  • 在 Java 中如何找出哪个对象打开了文件?

    我需要找出答案哪个对象在我的 Java 应用程序中打开了一个文件 这是为了调试 因此欢迎使用工具或实用程序 如果发现哪个对象太具体了 这class也会很有帮助 这可能很棘手 您可以从使用分析器开始 例如VisualVM http visua
  • Java 中如何将 char 转换为 int? [复制]

    这个问题在这里已经有答案了 我是Java编程新手 我有例如 char x 9 我需要得到撇号中的数字 即数字 9 本身 我尝试执行以下操作 char x 9 int y int x 但没有成功 那么我应该怎么做才能得到撇号中的数字呢 ASC
  • 如何在java中将日期格式从YYMMDD更改为YYYY-MM-DD? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我从机器可读代码中获取日期格式为 YYMMDD 如何将其更改为 YYYY MM DD 例如我收到 871223 YYMMDD 我想把它改成
  • 如何仅从 Firestore 获取最新更新的数据?

    在 Firestore 上发现任何更改时始终获取整个文档 如何只获取最近更新的数据 这是我的数据 我需要在第一次加载时在聊天中按对象顺序 例如 2018 09 17 30 40 msg和sendby 并且如果数据更新则仅获取新的msg和se
  • Java Applet 中的 Apache FOP - 未找到数据的 ImagePreloader

    我正在研究成熟商业产品中的一个问题 简而言之 我们使用 Apache POI 库的一部分来读取 Word DOC 或 DOCX 文件 并将其转换为 XSL FO 以便我们可以进行标记替换 然后 我们使用嵌入到 Java 程序中的 FOP 将
  • Akka 与现有 java 项目集成的示例

    如果我已经有现有的javaWeb 应用程序使用spring and servlet容器 将 Akka 集成到其中的正确方法是什么 就像我将会有Actor1 and Actor2互相沟通的 开始使用这些演员的切入点是什么 例如 1 把它放在那
  • 如何使用 JMagick 转换色彩空间?

    如何使用 JMagick API 转换色彩空间 例如 CMYK gt RGB 和 RGB gt CMYK None
  • 提高 PostgreSQL 1 亿数据左连接查询性能

    我在用Postgresql 9 2 version Windows 7 64 bit RAM 6GB 这是一个Java企业项目 我必须在我的页面中显示订单相关信息 有三个表通过左连接连接在一起 Tables TV HD 389772 行 T
  • Jetty、websocket、java.lang.RuntimeException:无法加载平台配置器

    我尝试在 Endpoint 中获取 http 会话 我遵循了这个建议https stackoverflow com a 17994303 https stackoverflow com a 17994303 这就是我这样做的原因 publi
  • 轻松的反应

    我有一个与这里描述的类似的案例 动态更改RESTEasy服务返回类型 https stackoverflow com questions 3786781 dynamically change resteasy service return
  • 在java中以原子方式获取多个锁

    我有以下代码 注意 为了可读性 我尽可能简化了代码 如果我忘记了任何关键部分 请告诉我 public class User private Relations relations public User relations new Rela
  • 子类构造函数(JAVA)中的重写函数[重复]

    这个问题在这里已经有答案了 为什么在派生类构造函数中调用超类构造函数时 id 0 当创建子对象时 什么时候在堆中为该对象分配内存 在基类构造函数运行之后还是之前 class Parent int id 10 Parent meth void
  • Java RMI - 客户端超时

    我正在使用 Java RMI 构建分布式系统 它必须支持服务器丢失 如果我的客户端使用 RMI 连接到服务器 如果该服务器出现故障 例如电缆问题 我的客户端应该会收到异常 以便它可以连接到其他服务器 但是当服务器出现故障时 我的客户端什么也
  • 抛出 Java 异常时是否会生成堆栈跟踪?

    这是假设我们不调用 printstacktrace 方法 只是抛出和捕获 我们正在考虑这样做是为了解决一些性能瓶颈 不 堆栈跟踪是在构造异常对象时生成的 而不是在抛出异常对象时生成的 Throwable 构造函数调用 fillInStack

随机推荐

  • 嵌入式 Tomcat 不提供静态内容

    我正在使用以下内容 基于this https stackoverflow com questions 640022 howto embed tomcat 6 创建嵌入式 Tomcat 服务器 File catalinaHome new Fi
  • 在 Delphi 7 中,我可以设置“调试”和“发布”模式吗?

    在大多数现代 IDE 中 您可以拥有 调试 和 发布 构建配置 并且可以在它们之间快速切换 在Delphi 7中 这似乎不可能 我必须进入项目设置并手动切换优化和所有调试信息 如果有一个插件或类似的插件可以帮我处理这个问题 那就太好了 有人
  • 自定义错误页面,当发生 Http 错误而不更改 url 时

    当 Http 错误发生时 如何在不更改 url 的情况下显示自定义错误页面 当发生 Http 错误时 如何显示客户自定义错误页面而不路由到另一个 URL 下面的方法不会使用重定向 它将返回您的自定义错误 正确的 httpstatus 代码作
  • 垂直对齐:中间不起作用

    CSS 属性vertical align middle在此示例中不起作用 HTML div span class twoline Two line text span span class float Float right span di
  • 创建 NSDate Monotouch

    我试图获取一个日期字符串并将其转换为特定的 NSDate 例如 1981 年 7 月 1 日 但我没有看到设置日期的方法 有谁知道如何做到这一点 也许将 DateTime 对象转换为 NSDate 最简单的方法是从 DateTime 设置它
  • sim800L GPRS 发布请求

    我一直在研究 LoNet 迷你 GSM 模块 SIM800L 并将其与 Arduino 连接 我已插入 SIM 移动卡并且可以连接互联网 通过串行监视器 我可以毫无问题地与它通信 但是当向网络服务器页面发出 GET 或 POST 请求时 它
  • 在AS3中创建链表

    如何在actionScript 3 0 中创建链接列表 我有一个项目 我应该从用户那里获取一些整数 并通过树算法对它们进行排序 例如堆排序并在闪存中显示树 我认为我应该使用链表通过树算法对数据进行排序 所以有人知道如何创建一个可以插入节点
  • 无法加载文件或程序集“Microsoft.SqlServer.Types,Version=10.0.0.0”或其依赖项之一

    最近我开始使用 SSMS 2017 v17 5 在我的 MVC 应用程序中 我收到以下错误 Could not load file or assembly Microsoft SqlServer Types Version 10 0 0 0
  • 我需要一个工具来查找单个文本文件或一组文本文件中重复或相似的文本块

    我想自动将重复或类似的 C 代码移动到函数中 这必须在 Linux 下工作 您的问题的一个子集 检测重复代码 Try PMD https pmd github io 重复的代码可能很难找到 尤其是在大型项目中 但 PMD 的复制 粘贴检测器
  • 比较器的等价恒等运算

    是否存在可能的身份表示Comparator那可能存在吗 在寻找简化代码的过程中删除Java中重载的方法 https stackoverflow com questions 58782150 removing overloaded metho
  • 根据另一个 JSON 键的值将 JSON 解码为类

    我正在尝试使用返回 JSON 文档的 REST API 该文档的结构取决于名为的属性的值type 我将主类定义如下 Serializable class Interaction val type Byte val data Interact
  • Locust.io 负载测试出现“连接中止 BadStatusLine”错误

    我正在使用 Locust io 来加载测试应用程序 我会收到一个随机错误 我无法查明问题 1 ConnectionError ProtocolError Connection aborted BadStatusLine 2 Connecti
  • XPath语法:如何根据父div获取子div信息

    我的 scrapy 项目的结果如下所示 div class news li div div class news li div div class news li div div class news li div 每个 news li 类
  • 如何处理两个重叠 div 的“双重不透明度”

    我有两个 div 不透明度均为 0 6 我需要它们重叠但保留其不透明度 而不是创建新的组合不透明度级别 我无法使用图像 编辑 小圆圈中应该有一个画布元素 不确定伪元素是否是最佳解决方案 有没有办法用 CSS 来做到这一点 或者我应该只使用画
  • 从CSS中的链接中删除下划线

    我一直在尝试从网页中删除丑陋的下划线 但由于某种原因它不会消失 我尝试过使用text decoration none and color FFFFFF 无济于事 原始CSS noday color ECECEC font family Ti
  • 如何在鼠标悬停时立即停止 jcarousel 并在鼠标移出时继续

    我试图用一个动作来停止转换 在本例中是悬停 但我不知道如何实现它 这是我正在进行测试的地方 http lvamil net gla web http lvemil net gla web 我有3个实例jcarousel我的目标是在鼠标悬停时
  • 如何鼓励用户填写长申请表?

    我能想到的是根据用户的地理信息预先填充某些表单输入元素 您还能想到哪些其他方法来加快用户在长申请表上的输入速度 或者至少让他们专注于填写申请表 如果你的形状很长 请尝试修剪它 不要要求他们填写您并不真正需要的字段 如果表单跨越多个页面 请向
  • SQL 中的小数位

    我正在计算百分比 一个例子是 38589 38400 因此百分比为 100 38589 38400 相当于 100 4921875 但结果显示为 100 如何让它显示 x 位小数 同样 如果我希望 2 显示为 2 000000 同样的工作吗
  • 使用 Javascript 将对象(元素)向上移动一级

    我有几个这样的对象 我想搬家type and value向上一步 这样他们就在旁边field 然后删除data 当departments转换为 JSON field DEPARTMAN NO data type numeric compar
  • 如何为 BitSet 类型的元素创建 SortedSet(例如 TreeSet)

    我有一个号码 power 2 k BitSet 对象 我想将它们存储在SortedSet 我使用代码 Set