HashMap 中的重复值

2023-12-09

我遇到了大麻烦,创建了一个 hashMap 并使用相同的键插入了两个值 StringBuilder作为map的键。 现在,虽然尝试使用 StringBuilder 对象检索数据工作正常,但在其他情况下它无法返回任何值。我在下面给出的代码中列出了三种情况,

`

class MainClass {

public static void main(String[] args) {

    MainClass m = new MainClass();

    StringBuilder sb = new StringBuilder("sb");
    StringBuilder sb1 = new StringBuilder("sb");

    Map<StringBuilder, String> map = new HashMap<StringBuilder, String>();
    map.put(sb, "a");
    map.put(sb1, "b");
    System.out.println("----Inside Main method---- mapValue"+map);

    System.out.println("Expected value a, coming also => " + map.get(sb)); //a
    System.out.println("Expected value b, coming also => " + map.get(sb1)); //b
    System.out.println("Expected value a, not coming  => " + map.get("sb")); // why null ?


    m.receiveMap(map, sb, sb1);

}

public void receiveMap(Map<StringBuilder, String> map, StringBuilder refSb,StringBuilder refSb1) {
    StringBuilder sb = new StringBuilder("sb");
    StringBuilder sb1 = new StringBuilder("sb");
    System.out.println("----Inside receiveMap method mapValue"+map);
    System.out.println("Expected value a, not coming  => " + map.get(sb)); // why null ?
    System.out.println("Expected value b, not coming  => " + map.get(sb1)); // why null ?

    System.out.println("Expected value a, coming also => " + map.get(refSb)); // o/p - a
    System.out.println("Expected value b, coming also => " + map.get(refSb1)); // o/p -b
}

} `


在方法中receiveMap

System.out.println("Expected value a, not coming  => " + map.get(sb)); // why null ?

因为你正在创造新的StringBuilder某人在方法中具有不同的 hashcode 与 StringBuilder sb 进行比较PSVM.

StringBuilder 不会覆盖 equals 和 hashCode

  StringBuilder sb = new StringBuilder("sb");
  StringBuilder sb1 = new StringBuilder("sb");
  Set s = new HashSet();
  s.add(sb);
  s.add(sb1);
  System.out.println(s); 

设置不允许重复但仍然打印[sb, sb]因为 StringBuilder 不会覆盖 equals 和 hashcode 方法。

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

HashMap 中的重复值 的相关文章

  • 如何抑制 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
  • 按位运算符简单地翻转整数中的所有位?

    我必须翻转整数的二进制表示形式中的所有位 鉴于 10101 输出应该是 01010 当与整数一起使用时 完成此操作的按位运算符是什么 例如 如果我正在编写类似的方法int flipBits int n 什么会进入身体 我只需要翻转数字中已经
  • 探索java图像处理的好资源[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我是图像处理领域的新手 请推荐一些好的资源 书籍和网络链接 来学习 Java 中的图像处理 最适合隐写术分析 适合初学者和高级水平 我看过
  • Java:无安全管理器:RMI 类加载器已禁用

    您好 我有 RMI 应用程序 现在我尝试从客户端调用服务器上的一些方法 我有以下代码 public static void main final String args try Setting the security manager Sy
  • 如何添加 Java 正则表达式实现中缺少的功能?

    我是 Java 新手 作为一名 Net 开发人员 我非常习惯Regex Net 中的类 Java 实现Regex 正则表达式 还不错 但它缺少一些关键功能 我想为 Java 创建自己的帮助器类 但我想也许已经有一个可用的了 那么 是否有任何
  • 为什么Java中的文件名与公共类名相同? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在Java中 文件名应该与文件名相同public class包含在该文件中 为什么这是一个限制 它有什么目的 Java 有一个有趣的方法 如果给
  • AWS SDK 2 承担角色

    Bean public DynamoDbClient amazonDynamoDB final AssumeRoleRequest assumeRoleRequest AssumeRoleRequest builder roleSessio
  • 限制 JPQL 中的结果数量

    如何限制从数据库检索结果的数量 select e from Entity e I need only 10 results for instance 您可以尝试像这样给出 10 个要显式获取的结果 entityManager createQ
  • 如何使用 Swipe 视图实现 Android TabLayout 设计支持库

    我将使用 android TabLayout 设计支持库 但我不知道如何使用滑动视图 这是我的代码 XML
  • 如何在 Python 中加密并在 Java 中解密?

    我正在尝试在 Python 程序中加密一些数据并将其保存 然后在 Java 程序中解密该数据 在Python中 我像这样加密它 from Crypto Cipher import AES KEY 1234567890123456789012
  • 如何从 Java 中“double”类型的值中删除小数值

    我正在调用一个名为 calculateStampDuty 的方法 它将返回 财产需缴纳的印花税金额 百分比计算有效 很好 并返回正确的值 15000 0 但是 我想显示该值 前端用户只是 15000 所以只想删除小数点和任何前面的值 此后
  • Hazelcast:连接到远程集群

    我们有一组 Hazelcast 节点 全部运行在一个远程系统 具有许多节点的单个物理系统 上 我们希望从外部客户端连接到该集群 一个 Java 应用程序 它使用如下代码连接到 Hazelcast ClientConfig clientCon
  • EJB 中 @Stateless 相对于 @Singleton 的真正用例是什么

    如果我正确理解EJB Singleton实际上与普通Java中的Singleton相同 也是spring中的单例 gt 一个实例 每个调用同时通过同一个实例 Stateless 声明一个 bean 它可以 但不得 具有多个实例 但限制是一个
  • 单元测试、集成测试还是设计中的问题?

    我编写了我的第一个单元测试 我认为它过于依赖其他模块 我不确定是否是因为 这是一个复杂的测试 我实际上已经编写了集成测试或 我的设计有问题 我首先要说的是 虽然我有大约 4 年的开发经验 但我从未学过 也没有人教过自动化测试 我刚刚使用 H
  • 应用程序中空指针异常[重复]

    这个问题在这里已经有答案了 我正在尝试在我的应用程序中实施应用程序内计费 我写了这段代码 public class Settings extends PreferenceFragment ServiceConnection mService
  • 如何在 Java 中创建一个带有连字符的值的静态枚举?

    如何创建如下所示的静态枚举 static enum Test employee id employeeCode 截至目前 我遇到了错误 这对于 Java 来说是不可能的 因为每个项目都必须是有效的标识符 并且有效的 Java 标识符可能不包
  • 一个类中有多个具有相同参数类型的方法

    我知道 至少已经有了关于这个主题的一个问题 https stackoverflow com questions 5561436 can two java methods have same name with different retur
  • 设置 Firefox 配置文件以使用 Selenium 和 Java 自动下载文件

    我想使用 Selenium WebDriver 和 Java 验证文件下载 要下载的文件为 PDF 格式 当 WebDriver 单击 AUT 中的 下载 链接时 Firefox 将打开以下下载确认窗口 我希望 Firefox 自动下载文件
  • Swing:创建可拖动组件...?

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

随机推荐

  • C# Graphics.CopyFromScreen“参数无效”

    我用 C 制作了一个应用程序 它将连续执行屏幕捕获并使用计时器将其显示在 PictureBox 中 运行几秒后 出现ArgumentException 下面是代码和具有 ArgumentException 的行 private void t
  • 使用请求库的重试历史记录

    我正在我的 Orchestrate 脚本中构建一个新的重试功能 我想知道尝试连接到特定 URL 时我的请求方法发生了多少次 以及 如果可能 发生了什么错误 现在 我需要这个用于记录目的 因为我正在开发一个消息系统 一旦我在一个消息系统中工作
  • 如何访问从故事板加载的视图控制器的属性?

    我有一个创建的视图控制器实例instantiateViewControllerWithIdentifier像这样 TBSCTestController testController self storyboard instantiateVi
  • 使用 opencv 进行音频输出和视频处理

    我正在使用 opencv 处理视频 但同时我需要播放音频并简单地控制它 例如大声或当前帧号 我想我应该用 ffmpeg 创建一个并行进程 但我不知道该怎么做 你能解释一下该怎么做吗 或者你知道另一种解决方案吗 I think ffmpeg应
  • 在共享存储 Xamarin 表单中保存文件

    我需要在android的共享存储中保存一个文件 我发现了这个链接 gt https developer android com training data storage shared documents files 我正在使用依赖项服务
  • 如何在 node.js selenium-webdriver 中模拟右键单击?

    我在用用于 Node js 的 selenium webdriver 如何使用该驱动程序模拟右键单击 我在官方文档中找不到这个 谢谢 wmash 你帮我找到解决方案 答案 已找到here driver actions click eleme
  • 如何在不使用构造函数 DI 的情况下创建 Http 实例? (RC.5+) [重复]

    这个问题在这里已经有答案了 我需要在不使用 Angular2 的 DI 的情况下获取 Http 的实例 constructor private http Http 以下代码摘自另一个 stackoverflow 问题 并且它适用于 Angu
  • 如何允许用户在 Android 应用程序中添加和删除选项卡

    我正在开发一个使用选项卡的应用程序 每个选项卡都链接到一个网页 用户可以使用 webview 查看该网页并与之交互 我遇到的问题是实现一个添加和删除命令 用户可以根据需要使用该命令删除选项卡 或者添加一个带有自己选择的 url 的选项卡 其
  • 为什么 std::make_unique 调用复制构造函数

    我想知道为什么 make unique 调用复制构造函数但不调用默认构造函数 Node std cout lt lt default Node std cout lt lt Delete Node const Node other std
  • jQuery Mobile / Handlebars - 打开面板隐藏 data-role=content div

    我正在尝试将 Handlebars 与 jQuery mobile 一起使用 我正在使用 jQuery 1 9 1 jQueryMobile 1 4 Handlebars 1 1 2 div div div h1 Title h1 div
  • Rails db:migrate 与 rake db:migrate

    我注意到在 Rails 5 中生成数据迁移时 有些人使用rails db migrate over rake db migrate 有人可以解释一下两者之间的区别吗rails和rake数据库迁移命令 这是否意味着rake命令在 Rails
  • 替换 int 中的字节

    一个int由4个字节组成 我如何用新字节替换这 4 个字节之一 换句话说 我正在寻找一种方法 int ReplaceByte int index int value byte replaceByte implementation 例如 如果
  • 使用 Docker Compose 和 WordPress 映像设置 Xdebug

    我正在尝试使用 docker compose 设置 Xdebug 我正在使用 PhpStorm IDE 并且我正在使用的 Docker 映像安装 PHP 7 2 我正在尝试在这个 WordPress 图像的上下文中执行此操作 这是我当前的
  • 使用相同的 Visual Studio 解决方案部署多个 WP7 应用程序?

    如何使用同一 Visual Studio 解决方案部署多个 WP7 应用程序 我需要改变什么才能实现这一目标 更改 Xap 文件名 程序集 GUID 和标题无法实现此目的 事实上 VS 用新标题覆盖旧的 但不部署单独的应用程序 背景 我们有
  • Javascript 将选定的复选框限制为 2 个

    我想禁用选择超过 2 个选择复选框 但我无法使用我的 javascript 代码做到这一点 我怎样才能做到这一点 btn addEventListener click function var ourRequest new XMLHttpR
  • Android O 中的 Doze 模式下前台服务未接收位置更新

    我有一个前台服务需要获取单个位置更新 它由特定的广播启动 启动后它只需在我们的后端发出一个请求 当它收到另一个广播时 它会请求位置更新 一次 执行另一个后端请求 然后自行停止 编辑 澄清一下 服务本身执行位置更新和后端请求 在这方面它独立于
  • Javascript - 每个订单的单个数组中所有可能的组合

    Javascript 生成单个数组中元素的所有组合 成对 所以我已经看到了这个问题 也看到了它的一些答案 但我想知道是否有可能获得所有组合 即使它在每个可能的顺序中都是重复的 ex var array apple banana lemon
  • 使用 ggplot aes_string、group 和 linetype 时出现的问题

    假设我有这个数据集 x lt rnorm 1000 y lt rnorm 1000 2 5 line color lt sample rep 1 4 250 line type lt as factor sample rep 1 5 200
  • Android:如何使用计时器

    这是我的第一篇文章 所以我正在学习 Android 和 Java 来自 Actionscript 并且我正在开发一个项目 我试图单击一个 ImageView 让该 ImageView 交换图像一秒钟 然后返回到原始图像 这是一个点击游戏 听
  • HashMap 中的重复值

    我遇到了大麻烦 创建了一个 hashMap 并使用相同的键插入了两个值 StringBuilder作为map的键 现在 虽然尝试使用 StringBuilder 对象检索数据工作正常 但在其他情况下它无法返回任何值 我在下面给出的代码中列出