collections相关内容

如何获得两个地图Java之间的差异?

我有两张地图如下: Map来源记录;映射目标记录; 我想获得与每个地图不同的键.即 它显示 sourceRecords 中可用但 targetRecords 中不可用的映射键. 它显示 targetRecords 中可用但 sourceRecords 中不可用的映射键. 我是这样做的: 设置sourceKeysList = new HashSet(sourceR ..
发布时间:2022-01-17 18:48:20 Java开发

是什么让一个元素有资格在 Python 中进行集合成员资格测试?

我想了解可以在 Python 中测试哪些项目的 set 成员资格.一般来说,集合成员资格测试的工作方式类似于 Python 中的 list 成员资格测试. >>>{1,2,3} 中的 1 个真的>>>{1,2,3} 中的 0错误的>>> 但是,集合与列表的不同之处在于它们不能包含不可散列的对象,例如嵌套集合. 列表,好的: >>>[1,2,{1,2}][1, 2, {1, 2}]>>> ..
发布时间:2022-01-17 18:46:32 Python

如果元素重复,为什么 Set.of() 会抛出 IllegalArgumentException?

在 Java 9 中,在 Set 接口上引入了新的静态工厂方法,称为 of(),它接受多个元素,甚至是一个元素数组. 我想将一个列表变成一个集合以删除集合中的任何重复条目,这可以使用以下方法完成(在 Java 9 之前): 设置set = new HashSet();set.addAll(列表); 但我认为使用这种新的 Java 9 静态工厂方法会很酷: Set.of(list.t ..
发布时间:2022-01-17 18:44:33 Java开发

Java:来自 Set 的枚举

我有一个简单的收藏问题.我有一个 Set 对象.我想要一个 Set 中的 String 的 code>Enumeration.我需要一个 Enumeration,因为我正在重写一个专门返回 Enumeration 的方法.最干净/最好的方法是什么? 解决方案 编辑:无需编写自己的(尽管我将在下面留下实现以供后代使用) - 请参阅 Kevin Bourrill ..
发布时间:2022-01-17 18:42:02 Java开发

基于添加重复值的HashSet vs TreeSet vs LinkedHashSet

我正在学习核心 java 的核心,即 Collections.我想知道当我们在 HashSet、TreeSet、LinkedHashSet 中添加重复元素时内部会发生什么. 条目是否被替换、忽略或抛出异常并终止程序.一个子问题是,哪个操作的所有操作具有相同或平均的时间复杂度 我们将不胜感激. 解决方案 Java 中的TreeSet、LinkedHashSet 和HashSet ..
发布时间:2022-01-17 18:36:21 Java开发

Java 中是否存在有向无环图 (DAG) 数据类型,我应该使用它吗?

我正在用 Java 对电源子系统进行建模.一个简单的 SQLite 数据库包含一组 Line Replaceable Units (LRU) 和它们之间的连接.我正在编写一个 Power Model API 来简化对数据存储的查询,使用 DDD 模式和存储库. 我正在寻找合适的 Java 集合来为查询结果建模.LRU 连接流中有一些特殊情况需要建模: 最初,有一个配电单元 (PDU) ..
发布时间:2022-01-17 18:28:55 Java开发

如果我们只覆盖类中的 hashCode() 并在 Set 中使用它会发生什么?

这可能不是真实世界的场景,只是想知道会发生什么,下面是代码. 我正在创建一组 UsingSet 类的对象.根据Java中的哈希概念,当我第一次添加包含“a"的对象时,它将创建一个哈希码为97的桶并将对象放入其中.再次,当它遇到一个带有“a"的对象时,它会调用类 UsingSet 中重写的 hashcode 方法,它会得到 hashcode 97 那么接下来是什么? 由于我没有重写 eq ..
发布时间:2022-01-17 18:25:53 Java开发

Python“设置"带有重复/重复的元素

是否有一种标准方式来表示可以包含重复元素的“集合". 据我了解,一个集合恰好有一个元素或零个元素.我希望功能有任何数字. 我目前正在使用以元素为键、数量为值的字典,但这似乎是错误的,原因有很多. 动机:我相信这样的收藏有很多应用.例如,对最喜欢的颜色的调查可以表示为:调查 = ['蓝色','红色','蓝色','绿色'] 在这里,我不关心订单,但我关心数量.我想做这样的事情: ..
发布时间:2022-01-17 18:24:48 Python

如何获取 List 或 Set 的第一个元素?

我想知道是否可以获取列表或集合的第一个元素.使用哪种方法? 解决方案 Collection c;迭代器 iter = c.iterator();对象优先 = iter.next(); (这是您最接近拥有 Set 的“第一个"元素的方式.您应该意识到它对于大多数 Set. 这可能对 LinkedHashSet 和 TreeSet 有意义,但对 HashSet 没有意义.) ..
发布时间:2022-01-17 18:14:58 Java开发

并发集合队列

也许这是一个愚蠢的问题,但我似乎找不到一个明显的答案. 我需要一个仅包含唯一值的并发 FIFO 队列.尝试添加队列中已经存在的值只会忽略该值.如果不是为了线程安全,那将是微不足道的.是否有 Java 中的数据结构或互联网上的代码片段表现出这种行为? 解决方案 如果你想要比完全同步更好的并发性,我知道有一种方法可以做到这一点,使用 ConcurrentHashMap 作为支持映射.以下 ..
发布时间:2022-01-17 18:11:43 Java开发

如何对 HashSet 进行排序?

对于列表,我们使用 Collections.sort(List) 方法.如果我们想对 HashSet 进行排序怎么办? 解决方案 HashSet 不保证其元素的任何顺序.如果您需要此保证,请考虑使用 TreeSet 来保存您的元素. 但是,如果您只需要针对这一事件对元素进行排序,则只需临时创建一个 List 并对其进行排序: 设置 ..
发布时间:2022-01-17 18:06:03 Java开发

List 和 Set 的性能和内存分配比较

我想知道List和Set在性能、内存分配和可用性方面的比较. 如果我不需要保持对象列表中的唯一性,也不需要维护插入顺序,我可以互换使用 ArrayList 和 SortedSet/HashSet 吗?直接使用 Collections 类而不是 list/set 会更好吗? 附:我也不需要列出或设置 java 提供的特定功能.我使用 List/Set 而不是 Array 只是因为它们可以 ..
发布时间:2022-01-17 18:05:52 Java开发

Java中有序集的任何实现?

如果有人熟悉 Objective-C,那么有一个名为 NSOrderedSet 充当 Set,其项目可以作为 Array 的项目访问. Java 中有这样的东西吗? 我听说有一个集合叫做 LinkedHashMap,但我还没有找到类似的集合. 解决方案 看看LinkedHashSet 类 来自 Java 文档: Set 接口的哈希表和链表实现,具有可预测的迭代顺序. ..
发布时间:2022-01-17 18:01:14 Java开发

修改 std::set 的元素时会发生什么?

如果我更改 std::set 的一个元素,例如,通过一个迭代器,我知道它不是“重新插入"或“重新排序",但有没有提到它是否会触发未定义的行为?例如,我想插入会搞砸.有没有具体提到会发生什么? 解决方案 您不应该直接编辑存储在集合中的值.我从具有一定权威性的 MSDN 文档中复制了这个: 使用 STL 容器类集用于存储和检索数据来自一个集合,其中的值包含的元素是独一无二的并作为关键值根 ..
发布时间:2022-01-17 17:54:06 C/C++开发