Java 什么是列表<;对象>;在SpringBoot中使用JPARepository时的默认大小?
当我们定义一个列表objects=newarraylist()时则其默认大小为10 当我们定义一个列表objects=newarraylist(50)则其初始大小为50 但是,如果我们像这样使用: List objects=xyzRepository.findByfield(值)强> 对于上述代码:Java 什么是列表<;对象>;在SpringBoot中使用JPARepository时的默认大小?,java,hibernate,spring-boot,jpa,spring-data-jpa,Java,Hibernate,Spring Boot,Jpa,Spring Data Jpa,当我们定义一个列表objects=newarraylist()时则其默认大小为10 当我们定义一个列表objects=newarraylist(50)则其初始大小为50 但是,如果我们像这样使用: List objects=xyzRepository.findByfield(值) 对于上述代码: 默认情况下创建哪个列表,默认大小是多少 如果xyzRepository.findByfield(值)为0,将创建多大的列表 归还200件物品 如果您使用Hibernate作为持久性提供程序,那么在执行g
如果您使用Hibernate作为持久性提供程序,那么在执行
getResultList
实现时,如果没有找到行,它将返回此值(SessionImpl.class):
下一步是猜测初始尺寸:
int guessedResultSize = this.guessResultSize(rowSelection);
List combinedResults = new ArrayList(guessedResultSize);
之后如果发现了什么东西,这些行被添加到
combinedResults
列表中,该列表最终会显示初始guessedResultSize
或size=找到的行数。为什么您认为它不会是200?正如我所知,Java中的默认大小是10,如果需要,它会将其大小增加到总大小的一半左右,依此类推。所以对于200,它需要很多操作,所以我想知道hibernateLooks是否使用了任何机制,就像你所问的容量
而不是大小
<代码>大小和容量
是不同的。
int guessedResultSize = this.guessResultSize(rowSelection);
List combinedResults = new ArrayList(guessedResultSize);