ArrayList的几种初始化方法
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的几种初始化方法相关推荐
- ArrayList的四种初始化方法
转载:https://beginnersbook.com/2013/12/how-to-initialize-an-arraylist/ Method 1: Initialization using ...
- C语言结构体自动初始化实现,C语言中结构体(struct)的几种初始化方法
本文给大家总结的struct数据有3种初始化方法 1.顺序 2.C风格的乱序 3.C++风格的乱序 下面通过示例代码详细介绍这三种初始化方法. 1)顺序 这种方法很常见,在一般的介绍C的书中都有介绍. ...
- ArrayList的三种遍历方法
ArrayList的三种遍历方法 import java.util.*; public class Test{ public static void main(String[] args) { Lis ...
- java二维数组的赋值_java二维数组三种初始化方法(实例)
初始化方法: 1.使用大括号直接赋值,适合已经确定知道数组元素的情况 2.给定二维数组的大小 3.数组第二维的长度可变化,未改变 代码举例如下: public class NewArray { pub ...
- java二维数组三种初始化方法(实例)
初始化方法: 1.使用大括号直接赋值,适合已经确定知道数组元素的情况 2.给定二维数组的大小 3.数组第二维的长度可变化,未改变 代码举例如下: public class NewArray {publ ...
- java二维数组两种初始化方法
写这篇博客的原因是因为从大一学习c语言开始 就对二维数组的声明 和初始化 一直没有搞懂....直到学到了Java依旧搞得不是很清楚. 先看一道Java的基础题 这道题 错误的选项 是 B. 二维数组的 ...
- springboot中bean的几种初始化方法与销毁方法的执行顺序
初始化方法: 1.实现InitializingBean,重写afterPropertiesSet方法 2.直接使用initBean方法,需要指定init-method 3.使用@PostConstru ...
- Collection集合的三种初始化方法
(一) java容器可以分为两大类 1)Collection其中包括List,Set,Queue 2)Map (二) Arrays.asList()方法:接受一个数组或一个逗号分隔的元素列表,并将其转 ...
- java全栈系列之JavaSE--数组的三种初始化方法及内存分析024
java内存分析 堆中存放new出来的对象和数组,存放具体的值的变量存放在栈里面 在定义和创建数组的时候内存发生了什么? 当用户定义了一个数组,例如:int [ ] Array;只是定义了一个数组没有 ...
最新文章
- python numpy array最大长度_python 中 numpy array 中的维度
- Java多线程2:Thread中的实例方法
- matlab频域怎么提取特征值,补充:频域特征值提取的MATLAB代码实现(小波分析)...
- oracle的scn增量备份,【Oracle】基于SCN的增量备份修复DataGuard GAP
- sql中有一些保留字,当你的字段名是它的保留字时,这个时候sql语句的字段不加``就会报错...
- 【华为云技术分享】计算python程序执行时间
- iOS开发拓展篇-XMPP简单介绍
- 2018.07.09 顺序对齐(线性dp)
- random.uniform()用法
- 手机html5顶部返回上一页,手机端网页返回顶部js代码
- 图书管理系统(数据库)
- Lesson 17.2 经典数据集(1):入门数据集,以及读数据时哪些可能的坑
- visio UML图 视频学习
- 使360浏览器自动使用最高IE内核
- 高级运维工程师证书_运维人员需要考什么证 linux运维工程师考证
- 动手实现对外安全的接口(写于天寒地冻的正月初九)
- UI设计中搜索页设计指南
- 1.3 飞桨开源深度学习平台介绍
- 安装pytorch报错及解决
- 完整技术帖,看美剧学英语之法
热门文章
- 关于各种回归评价指标MSE、RMSE、MAE、R-Squared、Standard Deviation(标准差)
- 列标题 如何删除gridcontrol_DEV控件GridControl常用属性设置(转)
- 发布国内首个无服务器容器服务,运维效率从未如此高效
- 《Netty In Action》第二章:第一个Netty程序
- Centos 6.x/7.x yum安装php5.6.X
- Day1-python基础
- Eclipse详细设置护眼背景色和字体颜色并导出
- Windows搭建golang开发平台
- container_of分析
- post 与 get 的区别