Lists.newArrayList
1、介绍
这个方法在google工具类中也有,源码内容如下
public static <E> ArrayList<E> newArrayList() {return new ArrayList();
}
内容是差不多的,唯一的好处就是可以少写泛型的部分。
但这个方法却有丰富的重载:
Lists.newArrayList(E... elements)
Lists.newArrayList(Iterable<? extends E> elements)
Lists.newArrayList(Iterator<? extends E> elements)
还有很多前缀扩展方法:
List<T> exactly = Lists.newArrayListWithCapacity(100);
List<T> approx = Lists.newArrayListWithExpectedSize(100);
使得函数名变得更有可读性,一眼就看出方法的作用,new ArrayList(100)的可读性就比较差了。
2、缺点和使用时需要注意的地方
(1)该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean)
(2)该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新
(3)不支持add和remove方法
参考内容:
1. https://blog.csdn.net/LonelyMrFan/article/details/73526815
2. http://stackoverflow.com/questions/9980915/lists-newarraylist-vs-new-arraylist
3. https://github.com/google/guava/wiki/CollectionUtilitiesExplained#Static_constructors
Lists.newArrayList相关推荐
- java解锁_Java 姿势解锁 —— Lists.transform
这个用法最初是在工作中读浩哥代码看到的,由于当时时间紧张,粗略看了一下以为就是个生成 List 的方法,于我而言其最多使用的地方在 Entity.Dto.From 间的互转,以至于在今后所有的涉及到转 ...
- guava Lists.transform 踩过的坑
2019独角兽企业重金招聘Python工程师标准>>> package com.case;import java.util.List;import com.google.common ...
- Guava入门~Lists
import java.util.List; import org.hamcrest.CoreMatchers; import org.junit.Assert; import com.google. ...
- 面试官系统精讲Java源码及大厂真题 - 14 简化工作:Guava Lists Maps 实际工作运用和源码
简化工作:Guava Lists Maps 实际工作运用和源码 更新时间:2019-09-24 10:32:00 如果不想在世界上虚度一生,那就要学习一辈子. 引导语 在日常工作中,我们经常会使用一些 ...
- Lists.partition用法
将list集合按指定长度进行切分,返回新的List<List<??>>集合,如下的: List<List<Integer>> lists=Lists.p ...
- Java之Lists.Partition项目中的使用
开心一笑 [媳妇儿问我:"孩子都快出生了,你名字想好了没呀?" 我说:"都想好了,要是生个儿子名字就叫"好帅" 媳妇儿问:"为什么呀?&qu ...
- Guava Lists工具类
文章目录 01 概述 02 Lists工具类 03 文末 01 概述 Guava 是 Google 开源的一个 Java 工具库,里面有很多工具类,本文要讲的是里面的Lists工具类. 注意,使用Gu ...
- Java List初始化7种方式(构造完List后add,匿名内部类,Arrays,Collections,Stream,List.of,Lists)
1 构造完List后add List<String> list = new ArrayList<>();list.add("a");list.add(&qu ...
- Guava(一)Lists与Maps
转载出处:http://ajoo.iteye.com/blog/735368 序 花开花落,花落花开.少年子弟江湖老,红颜少女的儿子都会打酱油反三俗了. 蓦然回首, 那个仿佛刚刚还在上幼儿园, 拉着我 ...
最新文章
- 处理器拦截器(HandlerInterceptor)详解
- QIIME 2教程. 26为QIIME 2开发新插件DevelopingPlugin(2021.2)
- 人工智能科普|自然语言处理(NLP)
- actframework mysql_问题处理记录
- 浅谈C++中的友元关系
- c primer plus第六版电子版_【财经】京东超市PLUS有机联盟:有机品牌提升一站式营销解决方案...
- mysql locate 和 like_MySQL比like语句更高效的写法locate position instr find_in_set
- Java SpringMVC实现PC端网页微信扫码支付完整版
- CF 839 E-最大团
- Maven:解决jar包冲突和企业开发常用编写
- spine纹理解包 黑底_“包治百病”是真理,这些小众包真的很治愈系
- html ie8上传图片,图片上传本地预览兼容ie8
- Java案例:文件切割与合并
- MySQL安装编译时,/bin/rm: cannot remove `libtoolT': No such file or directory
- python中RGB缓冲区红蓝颠倒的解决办法
- 在VS2017(VC15)上配置opencv4.0.1环境
- [译]C++17,使用 string_view 来避免复制
- 【强化学习】《Easy RL》- Q-learning - CliffWalking(悬崖行走)代码解读
- 怎么连接云服务器共享文件夹,如何设置局域网共享文件夹
- Linux那些事儿之Linux sysfs -- 剖析版本虽旧,桃花依旧笑春风