我看到许多例子使用List来表示“很多”关系,但是,Set似乎更好地履行了这个角色,因为查找可以在O(1)中发生,而列表搜索是O(N / 2)。有没有理由说List是首选的类型?
答案 0 :(得分:3)
只有在ManyToMany关系的情况下,重复才是重要的,在其他情况下,ORM也会处理List中的重复。
答案 1 :(得分:2)
答案 2 :(得分:1)
List
和Set
在语义上不同。只查看查找时间是一个坏主意,可能会导致严重的问题。
List
可能有重复项,Set
不能重复
List
也保证按索引访问,Set
没有。 (虽然有些Set
实现当然可能。)
答案 3 :(得分:1)
答案 4 :(得分:0)
我一直认为List会保留查询到底层数据库的任何顺序。