解决方法 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相关推荐

  1. java 集合数组初始化_Java用Arrays.asList初始化ArrayList实例方法

    Java用Arrays.asList初始化ArrayList实例方法 发布于 2020-2-29| 复制链接 在本篇文章里小妖给大家分享的是关于Java中使用Arrays.asList初始化Array ...

  2. java初始化三门课程_[Java] 实验4参考代码

    实验3月27日晚截止,实验截止后将在此给出完整的参考代码. 问之前请检查代码缩进,不了解什么是缩进的可以参考什么是代码缩进(code indent), 或与周围同学讨论. 缩进不规范的问题概不回答. ...

  3. 实现一个在JNI中调用Java对象的工具类,从此只需一行代码

    前言 我们知道在jni中执行一个java函数需要调用几行代码才行,如 jclass objClass = (*env).GetObjectClass(obj); jmethodID methodID ...

  4. mapbox 修改初始位置_一行代码教你如何随心所欲初始化Bert参数(附Pytorch代码详细解读)...

    微信公众号:NLP从入门到放弃 微信文章在这里(排版更漂亮,但是内置链接不太行,看大家喜欢哪个点哪个看吧): 一行代码带你随心所欲重新初始化bert的参数(附Pytorch代码详细解读)​mp.wei ...

  5. 不写一行代码,也能解释XML,因为是JAVA

    不写一行代码,也能解释XML,因为是JAVA. 整个过程就三个步骤 1.XML转换成XSD 2.XSD生成JAVA Class 3.调用unmarshal实现转换结果 具体实例: 1.假设有一个XML ...

  6. Java一行代码将yyyyMMdd转换为yyyy-MM-dd,yyyy-MM-dd转换为yyyyMMdd

    Java一行代码将yyyyMMdd转换为yyyy-MM-dd 代码如下 Java日期格式转换记录,yyyyMMdd与yyyy-MM-dd相互转换 代码如下 //yyyyMMdd转换为yyyy-MM-d ...

  7. java输出数组中的元素_java一行代码输出数组的所有元素内容

    如果要用java把一个数组的元素都输出到控制台的话,你要怎么做呢? 是通过一个循环去循环数组中的各个元素,然后输出吗? 像不像二维数组 今天我要说的是,可以通过一行代码就完成这个工作.是一样什么样的代 ...

  8. java是如何简化成一行代码的?-----Lambda表达式初识

    嗨喽-小伙伴们,早上好,中午好,晚上好呀, 之前有一个小伙伴给我发了一段代码,说是看不懂,这段代码是这样的: public class Aha {public static void main(Str ...

  9. Java 中Iterator 、Vector、ArrayList、List 使用深入剖析

    标签:Iterator Java List ArrayList Vector 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些 ...

  10. 【代码质量】-阿里巴巴java开发手册(代码质量提升神器)学习笔记

    前言:<阿里巴巴 Java 开发手册>是阿里巴巴集团技术团队的集体智慧结晶和经验总结,有了这些前人总结的经验,可以帮助我们写出高质量的代码,同时可以减少Bug数量,少踩坑,提高代码的可读性 ...

最新文章

  1. PostgreSQL学习笔记(1)
  2. centos同网段双网关_学习笔记之初识网关
  3. 关于项目数据库设计--投票系统
  4. 如何让关键词进入百度相关搜索列表?
  5. 快速搭建 Serverless 在线图片处理应用
  6. python3创建一个游戏窗口
  7. 系统架构师学习笔记-多媒体基础知识
  8. 把人工智能、机器学习、深度学习串一串,串一个同心圆
  9. android如何不卡顿,公认不卡的安卓手机 轻松做到3年不卡顿_TOM科技
  10. 【实用工具】之CSDN表格模板
  11. Android 对话框用法
  12. 服务器互相备份不同步_94爱分享拍了拍你,这款好用的数据同步备份软件千万不要错过!...
  13. BP神经网络预测(python)
  14. 充电书库-study
  15. ApacheCN 活动汇总 2019.7.12
  16. 一个人竟然撸了一个百度网盘客户端
  17. 如何将图片放大又清晰?
  18. 正则表达式系列 (一)
  19. 如何利用PowerShell完成的Windows服务器系统安全加固实践和基线检测
  20. MySQL-表的创建

热门文章

  1. 您实际上可以通过这些YouTube视频了解GPT-3
  2. 阿里ai布局开始_如何从AI开始?
  3. pandas的基本函数
  4. jquery多维对象计算个数_山东省2005年专升本计算机考试真题2??
  5. ibatis java 项目_iBatis搭建JAVA项目
  6. 互联网搜索的哪些环节 机器学习_机器学习、深度学习以及强化学习在金融领域有哪些应用?...
  7. java 排队实现_java中的优先列队-PriorityQueue源码实现解析
  8. 用scikit-learn和pandas学习线性回归,XGboost算法实例,用MSE评估模型
  9. Sip 响应状态码功能对照详解
  10. 01背包 Codeforces Round #267 (Div. 2) C. George and Job