Hibernate:为什么SET对于*到很多关系比List更好

时间:2014-06-19 09:12:33

标签: java hibernate jpa collections

我正在学习使用JPA进行休眠。 在一对多关系中,我遇到了一个懒惰初始化的问题。然后我将获取类型更改为EAGER,它显示“无法获取多个包”。

然后我将List改为Set。我不知道它的工作正常。

但我想知道原因,为什么set比list更好。

请解释我理解set和List的功能。

1 个答案:

答案 0 :(得分:0)

Set是一个不能包含重复元素的集合。

List是一个有序集合,可以包含重复元素。您可以从其索引中访问任何元素。 List更像是具有动态长度的数组。

从HashSet查找是常量时间O(1),当从ArrayList查找将花费时间O(n)。因此HashSet性能将比ArrayList更可靠。有关详细信息,请阅读here for listhere for set