return new ArrayList(); 和 return new ArrayList(0);有区别吗
时间: 2024-02-29 14:53:56 浏览: 26
有区别。
`return new ArrayList();` 创建一个空的 ArrayList 对象,它的初始容量是默认值,即10。
`return new ArrayList(0);` 创建一个空的 ArrayList 对象,但指定了其初始容量为0。这意味着,当你向这个 ArrayList 中添加元素时,它会自动增长以容纳新的元素,但是初始大小为0,因此不会浪费内存来存储预定义数量的元素。
因此,如果你知道 ArrayList 中元素的数量,建议使用 `new ArrayList(n)`,其中 n 是你预期的元素数量,这样可以避免不必要的内存浪费。如果你不知道元素数量,那么 `new ArrayList()` 是一个合理的选择。
相关问题
return Lists.newArrayList()的意思
"return Lists.newArrayList()" 的意思是创建一个新的 ArrayList 对象并返回该对象的引用。这个 ArrayList 对象是使用 Google Guava 框架中的 Lists 工具类创建的。它是一种更方便和灵活的创建 List 对象的方法。
讲解一下这段代码return new ArrayList<List<String>>(map.values());
这段代码的作用是将一个Map中的所有value(值)转换成一个List集合,并将这个List集合作为返回值返回。
具体解释如下:
1. `map.values()`:获取Map中所有的value(值),返回一个Collection对象。
2. `new ArrayList<List<String>>(map.values())`:将Collection对象转换成ArrayList集合,并且这个ArrayList集合的元素类型是List<String>。也就是说,这个ArrayList集合中的每个元素都是一个List集合,每个List集合中都存储了若干个字符串。
3. `return new ArrayList<List<String>>(map.values());`:将上一步得到的ArrayList集合作为方法的返回值返回。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)