重写 HashSet 的 Contains 方法

2024-01-09

有人能告诉我如何重写 HashSet 的 contains() 方法以使用正则表达式匹配而不是仅使用 equals() 吗?

或者,如果不覆盖,我如何添加一个方法来使用正则表达式模式?基本上,我希望能够在包含字符串的 HashSet 上运行正则表达式,并且我需要使用正则表达式来匹配子字符串。

如果我的方法不合适,请推荐其他方法。

谢谢。 :)


您可以通过以下方式扩展 HashSet:

public class RegExHashSet extends HashSet<String > {
    public boolean containsRegEx( String regex ) {
        for( String string : this ) {
            if( string.matches( regex ) ) {
                return true;
            }
        }
        return false;
    }
}

然后你就可以使用它:

RegExHashSet set = new RegExHashSet();
set.add( "hello" );
set.add( "my" );
set.add( "name" );
set.add( "is" );
set.add( "tangens" );

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

重写 HashSet 的 Contains 方法 的相关文章

  • 在 Eclipse 中隐藏重复的工具栏项

    我不知道如何 但我的 STS 有重复的工具栏项目 我不知道如何删除它们 这是我复制的工具栏的样子 我想摆脱这些 我试图隐藏工具栏 但这没有帮助 有人知道如何删除重复的吗 自从升级到 Oxygen 以来 我一直遇到同样的问题 我无法可靠地重现
  • 从 BroadcastReceiver 获取方法来更新 UI

    我正在尝试根据变量的变化更新用户界面BroadcastReceiver 因此 我需要调用一个扩展类的方法 以获取我提到的变量 BroadcastReceiver in MainActivity取决于但我无法以任何方式获得真正的返回值 扩展的
  • 如何抑制 Cucumber/Junit 断言堆栈跟踪

    我有一个黄瓜场景 该步骤使用assertEquals 我的结果报告显示了对最终用户不友好的堆栈跟踪 我怎样才能抑制它 Scenario Add two numbers Given I have two inputs 3 and 2 When
  • 在此代码中,Runnable 未实例化。为什么?

    Runnable cannot instantiate public class Thread4 public static void main String args Thread t1 new Thread new Runnable R
  • APNS(Apple 推送通知服务器)的反馈服务

    我们正在使用Java作为推送通知提供商APNS I我能够将消息发送到APNS但我不知道如何获得该消息的反馈 请帮忙 反馈服务具有类似于用于发送推送通知的接口的二进制接口 您可以通过以下方式访问生产反馈服务feedback push appl
  • 无法将 INode 类型值分配给 类型变量。为什么?

    我想知道为什么以下代码无法工作 public static
  • 想要从java中的char数组创建字符流

    我想从 char 数组构造一个流以使用 java 8 功能 例如过滤器和映射 char list a c e Stream
  • AWS SDK 2 承担角色

    Bean public DynamoDbClient amazonDynamoDB final AssumeRoleRequest assumeRoleRequest AssumeRoleRequest builder roleSessio
  • 为什么我的 @OneToMany 属性出现主键违规?

    我有一个实体 Entity public class Student GeneratedValue strategy GenerationType AUTO Id private long id OneToMany private Set
  • java 中的 Try-with-resources 和 return 语句

    我想知道是否放一个return里面的声明尝试资源block 防止资源自动关闭 try Connection conn return conn createStatement execute 如果我写这样的东西将会联系被关闭 Oracle 文
  • 使用java在网页中进行字符编码

    如何使用java找出网页中的字符编码类型 打开与 URL 的连接 使用URL openConnection http download oracle com javase 6 docs api java net URL html openC
  • 使用 equals 方法比较两个对象,Java

    我有一个对象数组 我想将它们与目标对象进行比较 我想返回与目标对象完全匹配的对象的数量 这是我的计数方法 public int countMatchingGhosts Ghost target int count 0 for int i 0
  • Java:不使用 Arrays.sort() 对整数数组进行排序

    这是我们 Java 课程的练习之一中的说明 首先 我想说我 做了我的功课 我不仅仅是懒惰地请 Stack Overflow 上的人帮我回答这个问题 在所有其他练习中 这个特定项目一直是我的问题 因为我一直在努力寻找 完美的算法 编写JAVA
  • EJB 中 @Stateless 相对于 @Singleton 的真正用例是什么

    如果我正确理解EJB Singleton实际上与普通Java中的Singleton相同 也是spring中的单例 gt 一个实例 每个调用同时通过同一个实例 Stateless 声明一个 bean 它可以 但不得 具有多个实例 但限制是一个
  • Java 常量枚举[重复]

    这个问题在这里已经有答案了 可能的重复 理解 Java 中的枚举 https stackoverflow com questions 1419835 understanding enums in java 为什么我们应该使用枚举而不是 Ja
  • java中的第三个布尔状态是什么?

    虽然我知道根据定义 布尔值仅包含两种状态 真或假 我想知道布尔值在用这些状态之一初始化之前有什么值 它默认为 false http java sun com docs books tutorial java nutsandbolts dat
  • 乔达时间中两个日期之间的天数

    如何找到两次之间的天数差异乔达时间 http www joda org joda time DateTime http www joda org joda time apidocs org joda time DateTime html实例
  • while循环只执行一次

    我很难弄清楚为什么 while 循环实际上不会循环 它运行一次并停止 import java util public class mileskm public static void main String args Scanner inp
  • 如何让JComboBox中的内容居中显示?

    目前我有这个JComboBox 我怎样才能将其中的内容居中 String strs new String 15158133110 15158133124 15158133458 JComboBox com new JComboBox str
  • Swing:创建可拖动组件...?

    我在网上搜索了可拖动 Swing 组件的示例 但我发现示例不完整或不起作用 我需要的是一个摇摆组件那可以是dragged通过鼠标 在另一个组件内 被拖拽的时候 应该已经 改变它的位置 而不仅仅是 跳 到目的地 我很欣赏无需非标准 API 即

随机推荐

  • 检测亮图像和暗图像

    我从 stackoverflow 答案中得到了这段代码来检测明亮和黑暗的图像 问题是它不起作用 我不知道为什么 例如如果我打电话 IsDark bitmap 40 0 9 this always sees the image as brig
  • 我可以在 C++ 中嵌套 try-catch 块吗?

    我可以嵌套 try catch 块吗 例如 void f try Some code try Some code catch ExceptionA a Some specific exception handling Some code c
  • 使用网络摄像头、OpenCV 和 Python 跟踪眼瞳位置

    我正在尝试建造一个可以通过基本的眼球运动来控制的机器人 我将网络摄像头对准我的脸 根据我瞳孔的位置 机器人会以某种方式移动 如果瞳孔位于眼睛的上 下 左 右角 机器人将分别向前 向后 向左 向右移动 我最初的计划是使用眼哈尔级联来找到我的左
  • 如何对多个wordpress自定义字段值进行排序?

    显示按 价格 自定义字段排序的 产品 类型的帖子 query new WP Query array post type gt product orderby gt meta value meta key gt price 如果还想按 尺寸
  • git stash save 和 git stash push 有什么区别?

    我应该什么时候使用git stash save代替git stash push反之亦然 git stash save接受一个非选项参数 隐藏消息 git stash push接受带有选项的消息 m并接受要存储的文件列表作为参数
  • 如何将用户输入转换为列表[重复]

    这个问题在这里已经有答案了 我想编写一个Python程序 要求用户输入7个数字 该输入应转换为列表并首先显示单个数字 然后显示整个列表 所以我的想法是从 for 循环开始 for a in range 1 8 number int inpu
  • Mobile Safari 文本输入宽度错误?

    看看这些屏幕截图 https i stack imgur com 1TFuj png https i stack imgur com 1TFuj png https i stack imgur com 3fukT png https i s
  • 设置 » JavaScript 的 document.title 中的 HTML 实体?

    我正在设置document title使用 JavaScript 但我找不到提供的方法 raquo 而不显示为文字文本 这是我的代码 document title Home raquo site com 如果我使用 在文档的标题标签中 它工
  • Rails 在控制器中异步执行任务

    当我的路线中有一条路线时 我需要执行三项任务Controller叫做 现在我的代码看起来像这样 缩写 def set quotas TaskOne new ex TaskTwo new ex TaskThree new ex quotas
  • 如何将svn分支和标签导入git-svn?

    我有一个必须提交的中央 SVN 存储库 但我对 git 充满热情 就像我认识的任何其他开发人员一样 此案众所周知 然后我读到了 git svn 并尝试了一下 由于我不需要完整的历史记录 只需要两个月左右的时间 我确实喜欢这样 git svn
  • 如何使用 OpenCv 查找图像上的角点

    我正在尝试找到图像上的角点 我不需要轮廓 只需要 4 个角点 我将使用 4 个角来改变视角 我正在使用 Opencv 但我需要知道找到角点的步骤以及我将使用什么函数 My images will be like this without r
  • 检查 Android 设备上的 NFC 功能

    这是为了回应question https stackoverflow com questions 5805034 detecting nfc on android devices Step 1 Put this in your manife
  • Z3 对指数的支持

    我是 Z3 的新手 我试图了解它是如何工作的 以及它能做什么和不能做什么 我知道Z3至少有some通过幂 运算符支持指数 请参阅Z3py 使用 pow 函数返回未知方程 https stackoverflow com questions 3
  • 如何使用 Java 计算 Selenium WebDriver 中的 HTML 子标签数量

    在 Selenium JAVA WebDriver 中 如何计算子标签 例子 div class subcategory container div class products container div class product ro
  • MongoDB - 多对多关系?

    我很好奇如何构建一个具有多对多关系 可能有数万条记录的 MongoDB 假设您有一个餐厅数据库 可以跟踪大量餐厅以及所有入住过这些餐厅的人 因此 用户可能想要查找一个人并查看他们已签到的所有餐厅 而且还想查找一家餐厅并查看所有已签到的人 如
  • “react-native弹出”:无法识别的命令“弹出”

    我正在尝试为我的反应本机项目重新创建 ios 和 android 文件夹 据我所知 这是通过以下命令完成的 react native eject 但我收到错误 error Unrecognized command eject 我做错了什么吗
  • 从 ItemDataBound 事件中的转发器控件获取值

    如何在 ItemDataBound 事件中获取转发器控件的值 我写了下面的asp代码
  • 处理推文时使用 JSON 或正则表达式

    哪种方法更快 使用 JSON 解析器 python 2 6 或正则表达式来获取相关数据 由于数据量巨大 我认为使用一种方法与其他方法相比在时间上会有很大差异 假设你在问什么 我相信您会问 通过反序列化序列化 JSON 字符串或通过正则表达式
  • 返回 R 中别名系数的 VIF

    我想知道是否有人可以帮助我解决以下问题 当我在各种解释变量之间进行 VIF 分析时 会出现以下错误消息 test lt vif lm Spring Autumn Oct Nov Dec Jan Feb Mar Apr May Jun Jul
  • 重写 HashSet 的 Contains 方法

    有人能告诉我如何重写 HashSet 的 contains 方法以使用正则表达式匹配而不是仅使用 equals 吗 或者 如果不覆盖 我如何添加一个方法来使用正则表达式模式 基本上 我希望能够在包含字符串的 HashSet 上运行正则表达式