1.使用Arrays.asList方法

ArrayList<Object> obj = new ArrayList<Object>(Arrays.asList(Object o1, Object o2, Object o3));

Demo:

package javastudy;import java.util.ArrayList;
import java.util.Arrays;public class MainTest2 {public static void main(String[] args) {ArrayList<String> list = new ArrayList<String>(Arrays.asList("o1", "o2"));}
}

2.使用生成匿名内部内进行初始化:

ArrayList<T> obj = new ArrayList<T>() {{add(Object o1);add(Object o2);......
}};

Demo:

package javastudy;import java.util.ArrayList;public class MainTest {public static void main(String[] args) {@SuppressWarnings("serial")ArrayList<String> obj = new ArrayList<String>() {{add("1");add("2");}};}
}

3.常规方式(最为常用的):

ArrayList<T> obj = new ArrayList<T>();
obj.add("o1");
obj.add("o2");
...
...

Demo:

import java.util.*;public class Details {public static void main(String args[]) {ArrayList<String> books = new ArrayList<String>();books.add("Java Book1");books.add("Java Book2");books.add("Java Book3");System.out.println("Books stored in array list are: "+books);}
}

或者这样也可以创建:

ArrayList<T> obj = new ArrayList<T>();
List list = Arrays.asList("o1","o2",...);
obj.addAll(list);

4.使用Collections.ncopies(通过复制)

ArrayList<T> obj = new ArrayList<T>(Collections.nCopies(count,element));//把element复制count次填入A

Demo:

package javastudy;import java.util.ArrayList;
import java.util.Collections;public class MainTest3 {public static void main(String[] args) {int count = 5;String element = "hello";ArrayList<String> obj = new ArrayList<String>(Collections.nCopies(count, element));}}

下面这两种都属于常规里面的:

第一种:List list = new ArrayList();第二种:List list = new ArrayList(16);

第一种代码的初始化(这里面的初始化是内存大小)方法初始容量被设置为10。当ArrayList中的元素超过10个以后,会重新分配内存空间,使数组的大小增长到16(具体为什么是16,可以查看ArraList的源码),一旦容量发生变化,就要带来额外的内存开销,和时间上的开销。

第二种方法直接使用了最大值,即指定默认容量大小的方式,这样效率更加高!


参考:https://blog.csdn.net/qq_32575047/article/details/81220937

ArrayList的几种初始化方法相关推荐

  1. ArrayList的四种初始化方法

    转载:https://beginnersbook.com/2013/12/how-to-initialize-an-arraylist/ Method 1: Initialization using ...

  2. C语言结构体自动初始化实现,C语言中结构体(struct)的几种初始化方法

    本文给大家总结的struct数据有3种初始化方法 1.顺序 2.C风格的乱序 3.C++风格的乱序 下面通过示例代码详细介绍这三种初始化方法. 1)顺序 这种方法很常见,在一般的介绍C的书中都有介绍. ...

  3. ArrayList的三种遍历方法

    ArrayList的三种遍历方法 import java.util.*; public class Test{ public static void main(String[] args) { Lis ...

  4. java二维数组的赋值_java二维数组三种初始化方法(实例)

    初始化方法: 1.使用大括号直接赋值,适合已经确定知道数组元素的情况 2.给定二维数组的大小 3.数组第二维的长度可变化,未改变 代码举例如下: public class NewArray { pub ...

  5. java二维数组三种初始化方法(实例)

    初始化方法: 1.使用大括号直接赋值,适合已经确定知道数组元素的情况 2.给定二维数组的大小 3.数组第二维的长度可变化,未改变 代码举例如下: public class NewArray {publ ...

  6. java二维数组两种初始化方法

    写这篇博客的原因是因为从大一学习c语言开始 就对二维数组的声明 和初始化 一直没有搞懂....直到学到了Java依旧搞得不是很清楚. 先看一道Java的基础题 这道题 错误的选项 是 B. 二维数组的 ...

  7. springboot中bean的几种初始化方法与销毁方法的执行顺序

    初始化方法: 1.实现InitializingBean,重写afterPropertiesSet方法 2.直接使用initBean方法,需要指定init-method 3.使用@PostConstru ...

  8. Collection集合的三种初始化方法

    (一) java容器可以分为两大类 1)Collection其中包括List,Set,Queue 2)Map (二) Arrays.asList()方法:接受一个数组或一个逗号分隔的元素列表,并将其转 ...

  9. java全栈系列之JavaSE--数组的三种初始化方法及内存分析024

    java内存分析 堆中存放new出来的对象和数组,存放具体的值的变量存放在栈里面 在定义和创建数组的时候内存发生了什么? 当用户定义了一个数组,例如:int [ ] Array;只是定义了一个数组没有 ...

最新文章

  1. python numpy array最大长度_python 中 numpy array 中的维度
  2. Java多线程2:Thread中的实例方法
  3. matlab频域怎么提取特征值,补充:频域特征值提取的MATLAB代码实现(小波分析)...
  4. oracle的scn增量备份,【Oracle】基于SCN的增量备份修复DataGuard GAP
  5. sql中有一些保留字,当你的字段名是它的保留字时,这个时候sql语句的字段不加``就会报错...
  6. 【华为云技术分享】计算python程序执行时间
  7. iOS开发拓展篇-XMPP简单介绍
  8. 2018.07.09 顺序对齐(线性dp)
  9. random.uniform()用法
  10. 手机html5顶部返回上一页,手机端网页返回顶部js代码
  11. 图书管理系统(数据库)
  12. Lesson 17.2 经典数据集(1):入门数据集,以及读数据时哪些可能的坑
  13. visio UML图 视频学习
  14. 使360浏览器自动使用最高IE内核
  15. 高级运维工程师证书_运维人员需要考什么证 linux运维工程师考证
  16. 动手实现对外安全的接口(写于天寒地冻的正月初九)
  17. UI设计中搜索页设计指南
  18. 1.3 飞桨开源深度学习平台介绍
  19. 安装pytorch报错及解决
  20. 完整技术帖,看美剧学英语之法

热门文章

  1. 关于各种回归评价指标MSE、RMSE、MAE、R-Squared、Standard Deviation(标准差)
  2. 列标题 如何删除gridcontrol_DEV控件GridControl常用属性设置(转)
  3. 发布国内首个无服务器容器服务,运维效率从未如此高效
  4. 《Netty In Action》第二章:第一个Netty程序
  5. Centos 6.x/7.x yum安装php5.6.X
  6. Day1-python基础
  7. Eclipse详细设置护眼背景色和字体颜色并导出
  8. Windows搭建golang开发平台
  9. container_of分析
  10. post 与 get 的区别