Java containsAll 在给定列表时不返回 true

2023-12-19

我想检查一个数组是否是另一个数组的子集。

程序打印错误,但我期望正确。为什么 containsAll 不返回 true?

int[] subset;
subset = new int[3];
subset[0]=10;
subset[1]=20;
subset[2]=30;

int[] superset;
superset = new int[5];
superset[0]=10;
superset[1]=20;
superset[2]=30;
superset[3]=40;
superset[4]=60;
HashSet sublist = new HashSet(Arrays.asList(subset));
HashSet suplist = new HashSet(Arrays.asList(superset));
boolean isSubset = sublist.containsAll(Arrays.asList(suplist));
System.out.println(isSubset);

有一个微妙的错误:

new HashSet(Arrays.asList(subset));

上面的行确实not按照您的预期创建一组整数。相反,它创建了一个HashSet<int[]>对于单个元素,subset array.

这与泛型不支持原始类型有关。

如果你声明了,你的编译器会告诉你这个错误sublist and suplist as HashSet<Integer>.

最重要的是,你得到了suplist and sublist错误的方式containsAll() call.

以下内容按预期工作:

    Integer[] subset = new Integer[]{10, 20, 30};
    Integer[] superset = new Integer[]{10, 20, 30, 40, 60};
    HashSet<Integer> sublist = new HashSet<Integer>(Arrays.asList(subset));
    HashSet<Integer> suplist = new HashSet<Integer>(Arrays.asList(superset));
    boolean isSubset = suplist.containsAll(sublist);
    System.out.println(isSubset);

一个关键的变化是这是使用Integer[]代替int[].

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

Java containsAll 在给定列表时不返回 true 的相关文章

随机推荐

  • Intellij:如何复制/粘贴文件以复制它?

    我似乎找不到办法做到这一点 我在某个文件夹中有一个名为 X 的文件 我想在同一目录中创建具有相同内容的 Y 我在eclipse中的做法是选择文件并 C P eclipse提示输入新名称 UPDATE 显然 只有当编译单元包含多个类型时才会出
  • 您如何看待 TFS 中版本的更改?

    我正在尝试从 VSS 迁移到 TFS 并且需要能够显示在两个版本之间签入了哪些文件 在 VSS 中 我们只需标记发布的代码并查看标签之间的历史记录 并生成报告以显示签入和评论 有没有办法用 TFS 获得类似的结果 或者显示两个变更集或标签之
  • ATLANTBH jmeter-components:JSON 路径断言

    我正在尝试使用执行 JSON 断言ATLANTBH https github com ATLANTBH jmeter componentsjmeter JSON 路径断言 但是 我似乎无法编写正确的表达式来从下面发布的 JSON 提要中获取
  • Android - 使用 Glide/Picasso 从网站 URL 加载缩略图

    我正在尝试使用 Glide 加载网络上一篇文章的缩略图 但它返回一个空字段 与其他示例不同 此 URL 不直接链接到 PNG JPG 等等 而是一个网站链接 我需要它加载 默认缩略图 ImageView 已正确设置并初始化 我曾分别尝试过使
  • jQuery 可拖放定位

    我正在使用 jquery UI 和 jQuerydraggable 我所有的draggables都使用jqueryclone助手并附加可拖动的 to 可丢弃的 这是我的代码 squeezePage droppable droppable t
  • 如何检查是否安装了 gem?

    我为 Sinatra 项目安装了 data mapper 好奇 为什么我这样做的时候会这样gem install brew I can which brew并获取其位置的路径 但不能用于 data mapper 这适用于某些宝石 但不适用于
  • 提供基于泛型类型集合的泛型键比较

    我已经创建了自己的InsertOrUpdate 一些类型的实现如下 public IEnumerable
  • 如何将Web API添加到现有的ASP.NET MVC(5)Web应用程序项目中?

    假设您在创建新的 MVC 5 项目时忘记勾选 Web API 复选框 将其添加到项目中 那么您需要做什么来添加 Web API 并使其正常工作 有很多迁移问题 但似乎没有一个具有将 Web API 添加到 MVC 5 项目的完整且最新的步骤
  • Swagger UI 上未出现“请求正文”

    我正在尝试做一个测试POST请求我的 Swagger 文档 但我遇到了以下问题 在 Swagger Editor 上我可以正常测试它 但在 Swagger UI 上 请求正文字段不会出现 因此我无法输入我的电子邮件和密码来测试请求 您可以在
  • Redis 哨兵与主/从服务器位于同一服务器中?

    我一直在阅读有关如何使用 Redis Sentinel 的内容 并且我知道可以有 2 个或更多哨兵 并在从客户端调用时在它们之间进行负载平衡 将这 2 个哨兵与我的主服务器 从服务器放在同一服务器中是一个好的做法吗 换句话说 在同一物理服务
  • C# 如何从 VS2008 代码指标中排除生成的代码?

    如何从 Visual Studio 2008 代码指标中排除生成的代码 例如 Windows 窗体设计器相关代码 我一直在四处挖掘 但没有找到任何解决方案 DebuggerHidden and DebuggerNonUserCode没有影响
  • Linux:是否可以对共享库代码进行沙箱处理

    我有一个需要通过加载共享库来扩展的进程 有没有一种方法可以在沙箱环境 外部进程除外 中运行共享库代码 以便在出现段错误时不会使进程崩溃 并且对可以分配的内存量 可以使用的 CPU 周期有限制 ETC 我认为没有一种干净的方法可以做到这一点
  • 开发人员能否“强制”系统防止“Metro”应用程序在后台异步进程运行时被挂起?

    当应用程序当前不在 Win8 中处于 前端和中心 位置时 它就会被挂起 这是否会妨碍应用程序在后台显式保持活动状态 例如在电子邮件客户端中 使用异步操作轮询邮件服务器以查找新消息并下载它们 然后使用新消息数更新磁贴 如果这是不可能的 挂起的
  • 我怎样才能传递 UIColor 的名字

    我想知道如何将 UIColor 的名称传递给特定方法 EDIT id setLabel NSString text WithColorName NSString nameOfColor FontName NSString f name Fo
  • 检查 JComboBox 中是否已存在某个项目?

    除了迭代 JComboBox 之外 是否有一种简单的方法来检查 JComboBox 中是否已存在某个项目 这就是我想做的 Item item boolean exists false for int index 0 index lt myC
  • React Native Firebase DataSnapshot

    我正在尝试使用以下代码将 firebase 实现到我的 React Native 应用程序中 import as firebase from firebase var fireBaseconfig apiKey MY KEY authDom
  • Spring JPA:使用@Transactional和@PersistenceContext的应用程序管理持久性上下文

    目前 我正在尝试应用程序管理的持久性上下文 方法是手动创建实体管理器并存储它们 以在 JSE 应用程序中启用跨多个请求调用 可能类似于扩展持久性上下文 的事务 但是 我想知道是否可以通过使用 spring 的 PersistenceCont
  • 暂停和恢复 setInterval

    window setInterval function do stuff milisec 有没有办法随意停止这个间隔 并从它持续的地方恢复它 比如说 代码每 5 秒运行一次 我在第二秒中间停止它 当恢复时 我希望它运行剩余的 3 秒 然后每
  • iPhone 8 和 iPhone X 的型号名称是什么? [复制]

    这个问题在这里已经有答案了 谁可以使用 iPhone 8 和 iPhone X 告诉我型号名称吗 可以通过以下方式访问它UIDevice current modelName Anbu提到的信息是 iPhone 8 iPhone10 1 和
  • Java containsAll 在给定列表时不返回 true

    我想检查一个数组是否是另一个数组的子集 程序打印错误 但我期望正确 为什么 containsAll 不返回 true int subset subset new int 3 subset 0 10 subset 1 20 subset 2