我正在学习使用JPA进行休眠。 在一对多关系中,我遇到了一个懒惰初始化的问题。然后我将获取类型更改为EAGER,它显示“无法获取多个包”。
然后我将List改为Set。我不知道它的工作正常。
但我想知道原因,为什么set比list更好。
请解释我理解set和List的功能。
答案 0 :(得分:0)
Set是一个不能包含重复元素的集合。
List是一个有序集合,可以包含重复元素。您可以从其索引中访问任何元素。 List更像是具有动态长度的数组。
从HashSet查找是常量时间O(1),当从ArrayList查找将花费时间O(n)。因此HashSet性能将比ArrayList更可靠。有关详细信息,请阅读here for list和here for set。