gpt4 book ai didi

java - 向列表添加元素太慢

转载 作者:行者123 更新时间:2023-12-02 10:10:28 24 4
gpt4 key购买 nike

我有这个循环:

List<Integer> numbers = new ArrayList<Integer>();
for(int x=0; x<citiesNames.size();x++){
List<Cities> numeroCiudades = citiesRepository.findByCity(citiesNames.get(x));
numbers.add(numeroCiudades.size());
//System.out.println(numeroCiudades.size());
}

其中cityNames是一个字符串列表,其中包含16584个元素,findByCity是一个方法,我在其中传递一个字符串,它在数据库中搜索相应的条目。我想做的是搜索每个城市对应的条目,检查条目数,并将条目数添加到一个整数列表中。但这个循环太慢了,需要很长时间才能显示结果。我该如何优化它?

最佳答案

我不清楚为什么你必须在列表中“打包”所有城市,因为你可以在cityRepository中创建一个函数,该函数返回一个包含特定城市拥有的条目数的int。 (这会大大提高性能。因此,程序将能够只返回一个简单的 int 而不是整个类实例化)(假设您有权访问城市存储库)。

此外,提前设置分配列表容量也是有意义的。在大型列表上,调整大小可能会导致性能显着下降(了解有关 ArrayList 工作原理的更多信息 here )

关于java - 向列表添加元素太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55032022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com