java - 将 List 传递给 Set Constructor,过滤是否按顺序进行?

标签 java list casting set

我正在从 JPA 查询中检索一个按有效日期排序的列表。除了日期列之外,可能有重复的条目,我将首先对它们进行排序(desc)。我想要的只是集合中具有最新有效日期的所有条目; Set 中不允许使用具有较旧有效日期的复制品。

如果我通过将此 List 传递给构造函数来创建一个 HashSet,新 Set 是否仅包含 List 中的第一个条目,仅包含具有“最新”有效日期的条目?

换句话说,从List创建Set时,Set是按照List顺序初始化的吗?

谢谢!

最佳答案

如果您从具有重复项的集合中创建一个 HashSet,则只有每个重复项中的第一个会被添加到哈希集中。

adds the items in the list in order , 并且 add 方法不会覆盖重复项。

虽然未指定此行为,但它极不可能改变。

关于java - 将 List 传递给 Set Constructor,过滤是否按顺序进行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8176226/

相关文章:

java - 从共享首选项中存储的数组列表中删除项目

c# - 从字符串末尾提取整数

java - 序列生成/广度优先搜索

c++ - 在 C++ 中向上转型和向下转型跳过层次结构?

c# - 将 Datagrid.SelectedItems 集合转换到 List<T>

java - 获取从 llistview 中选择的项目,其中包含来自 Android Activity 的多个数据

java - 使用Object类引用变量,访问不同的类成员。

java - 如何在Java类层次结构中实现泛型类型安全的深度克隆?

java 仅替换正则表达式 a-z0-9

C# 锯齿状数组到列表列表