java怎么用一行代码初始化ArrayList
解决方法 1:
其实,可能要初始化的"最佳"方式,ArrayList 是你写的方法,因为它不需要创建一个新的 List 以任何方式:
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
渔获是相当多的键入所需,请参阅 list 实例。
有如使一个匿名的内部类的一个实例初始值设定项 (也称为一种"双大括号初始化") 的方法:
ArrayList<String> list = new ArrayList<String>() {{
add("A");
add("B");
add("C");
}}
不过,我不太喜欢该方法,因为什么你最终是一个类的子类 ArrayList 有一个实例初始值设定项和这类只是为了创建一个对象 — — 只是看起来像我有点大材小用。
有何好是如果接受 项目硬币 收集文本的建议,我们可以有 Java 7 中的列表中文字:
List<String> list = ["A", "B", "C"];
不幸的是它不会帮助您在这里,因为它将初始化一个 List,而不是 ArrayList,此外,它尚未提供,如果它以往任何时候都将和。
解决方法 2:
如果你,只是将它声明为列表中没有要 ArrayList,它会更简单呢?
List<String> places = Arrays.asList("Buenos Aires", "Córdoba", "La Plata");
解决方法 3:
import com.google.common.collect.ImmutableList;
....
List<String> places = ImmutableList.of("Buenos Aires", "Córdoba", "La Plata");
解决方法 4:
漂亮的很多,最简单的方法就是 List<String> strings = new ArrayList<String>(asList("foo", "bar", "baz")),如果您必须有一个 ArrayList,否则您应该在大多数情况下只是使用List<String> strings = asList("foo", "bar", "baz")
你说你已宣布作为列表一个 ArrayList 在您的代码中,但您不应该做的除非您正在使用的一些成员 ArrayList 在这并不是List,例如 ArrayList.ensureCapacity()。
通常您应该只是声明变量,您要使用,它的列表通常是最通用接口的 List,和初始化它们在具体的实施,例如 ArrayList或 LinkedList。
使用不实现,否则为你会发现您要在多个位置更改,当您想要使用另一种实现的接口。
另一个例子将总是声明变量,一个 InputStream 即使它通常是一个 FileInputStream,这是因为一天很快就您或其他人会想要使用一些另类的 InputStream。
解决方法 5:
您可以创建一个工厂方法:
public static ArrayList<String> createArrayList(String ... elements) {
ArrayList<String> list = new ArrayList<String>();
for (String element : elements) {
list.add(element);
}
return list;
}
....
ArrayList<String> places = createArrayList(
"São Paulo", "Rio de Janeiro", "Brasília");
但并不比你第一次的重构。
更新: 更大的灵活性,它可以是一种通用:
public static <T> ArrayList<T> createArrayList(T ... elements) {
ArrayList<T> list = new ArrayList<T>();
for (T element : elements) {
list.add(element);
}
return list;
}
解决方法 6:
只是注意到它在一个很简单的工作方法,如下所示:
ArrayList arrList = new ArrayList() {"1",2,3,"4" };
List<Customer> listCustomer = new List<Customer>() { new Customer(), new Customer(), new Customer() };
这 C# 3.0 不双支撑所需的工作。希望这有助于。
解决方法 7:
若要设置列表填充 N 的默认对象的副本:
ArrayList<Object> list = new ArrayList<Object>(
Collections.nCopies(1000, new Object()));
转载于:https://blog.51cto.com/13545923/2053550
java怎么用一行代码初始化ArrayList相关推荐
- java 集合数组初始化_Java用Arrays.asList初始化ArrayList实例方法
Java用Arrays.asList初始化ArrayList实例方法 发布于 2020-2-29| 复制链接 在本篇文章里小妖给大家分享的是关于Java中使用Arrays.asList初始化Array ...
- java初始化三门课程_[Java] 实验4参考代码
实验3月27日晚截止,实验截止后将在此给出完整的参考代码. 问之前请检查代码缩进,不了解什么是缩进的可以参考什么是代码缩进(code indent), 或与周围同学讨论. 缩进不规范的问题概不回答. ...
- 实现一个在JNI中调用Java对象的工具类,从此只需一行代码
前言 我们知道在jni中执行一个java函数需要调用几行代码才行,如 jclass objClass = (*env).GetObjectClass(obj); jmethodID methodID ...
- mapbox 修改初始位置_一行代码教你如何随心所欲初始化Bert参数(附Pytorch代码详细解读)...
微信公众号:NLP从入门到放弃 微信文章在这里(排版更漂亮,但是内置链接不太行,看大家喜欢哪个点哪个看吧): 一行代码带你随心所欲重新初始化bert的参数(附Pytorch代码详细解读)mp.wei ...
- 不写一行代码,也能解释XML,因为是JAVA
不写一行代码,也能解释XML,因为是JAVA. 整个过程就三个步骤 1.XML转换成XSD 2.XSD生成JAVA Class 3.调用unmarshal实现转换结果 具体实例: 1.假设有一个XML ...
- Java一行代码将yyyyMMdd转换为yyyy-MM-dd,yyyy-MM-dd转换为yyyyMMdd
Java一行代码将yyyyMMdd转换为yyyy-MM-dd 代码如下 Java日期格式转换记录,yyyyMMdd与yyyy-MM-dd相互转换 代码如下 //yyyyMMdd转换为yyyy-MM-d ...
- java输出数组中的元素_java一行代码输出数组的所有元素内容
如果要用java把一个数组的元素都输出到控制台的话,你要怎么做呢? 是通过一个循环去循环数组中的各个元素,然后输出吗? 像不像二维数组 今天我要说的是,可以通过一行代码就完成这个工作.是一样什么样的代 ...
- java是如何简化成一行代码的?-----Lambda表达式初识
嗨喽-小伙伴们,早上好,中午好,晚上好呀, 之前有一个小伙伴给我发了一段代码,说是看不懂,这段代码是这样的: public class Aha {public static void main(Str ...
- Java 中Iterator 、Vector、ArrayList、List 使用深入剖析
标签:Iterator Java List ArrayList Vector 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些 ...
- 【代码质量】-阿里巴巴java开发手册(代码质量提升神器)学习笔记
前言:<阿里巴巴 Java 开发手册>是阿里巴巴集团技术团队的集体智慧结晶和经验总结,有了这些前人总结的经验,可以帮助我们写出高质量的代码,同时可以减少Bug数量,少踩坑,提高代码的可读性 ...
最新文章
- PostgreSQL学习笔记(1)
- centos同网段双网关_学习笔记之初识网关
- 关于项目数据库设计--投票系统
- 如何让关键词进入百度相关搜索列表?
- 快速搭建 Serverless 在线图片处理应用
- python3创建一个游戏窗口
- 系统架构师学习笔记-多媒体基础知识
- 把人工智能、机器学习、深度学习串一串,串一个同心圆
- android如何不卡顿,公认不卡的安卓手机 轻松做到3年不卡顿_TOM科技
- 【实用工具】之CSDN表格模板
- Android 对话框用法
- 服务器互相备份不同步_94爱分享拍了拍你,这款好用的数据同步备份软件千万不要错过!...
- BP神经网络预测(python)
- 充电书库-study
- ApacheCN 活动汇总 2019.7.12
- 一个人竟然撸了一个百度网盘客户端
- 如何将图片放大又清晰?
- 正则表达式系列 (一)
- 如何利用PowerShell完成的Windows服务器系统安全加固实践和基线检测
- MySQL-表的创建
热门文章
- 您实际上可以通过这些YouTube视频了解GPT-3
- 阿里ai布局开始_如何从AI开始?
- pandas的基本函数
- jquery多维对象计算个数_山东省2005年专升本计算机考试真题2??
- ibatis java 项目_iBatis搭建JAVA项目
- 互联网搜索的哪些环节 机器学习_机器学习、深度学习以及强化学习在金融领域有哪些应用?...
- java 排队实现_java中的优先列队-PriorityQueue源码实现解析
- 用scikit-learn和pandas学习线性回归,XGboost算法实例,用MSE评估模型
- Sip 响应状态码功能对照详解
- 01背包 Codeforces Round #267 (Div. 2) C. George and Job