Java 什么是列表<;对象>;在SpringBoot中使用JPARepository时的默认大小?

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

当我们定义一个列表objects=newarraylist()时则其默认大小为10

当我们定义一个列表objects=newarraylist(50)则其初始大小为50

但是,如果我们像这样使用: List objects=xyzRepository.findByfield(值)

对于上述代码:

  • 默认情况下创建哪个列表,默认大小是多少
  • 如果xyzRepository.findByfield(值)为0,将创建多大的列表 归还200件物品

  • 如果您使用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);