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的几种初始化方法的更多相关文章
- String的几种初始化方法的区别
参考了: java中String的两种初始化方法 String a; String aa = ""; String aaa = "123"; String ...
- C语言中结构体(struct)的几种初始化方法
转自https://www.jb51.net/article/91456.htm 本文给大家总结的struct数据有3种初始化方法 1.顺序 2.C风格的乱序 3.C++风格的乱序 下面通过示 ...
- Collection集合的三种初始化方法
(一) java容器可以分为两大类 1)Collection其中包括List,Set,Queue 2)Map (二) Arrays.asList()方法:接受一个数组或一个逗号分隔的元素列表,并将其转 ...
- 关于UIImage类的对象两种初始化方法的区别
1.imageNamed: UIImage *image = [UIImage imageNamed:"]; UIImage的类方法 第一次读取图片的时候,先把这个图片放到缓存中,下次再使用 ...
- Java集合框架Collection(1)ArrayList的三种遍历方法
ArrayList是java最重要的数据结构之一,日常工作中经常用到的就是ArrayList的遍历,经过总结,发现大致有三种,上代码: package com.company; import java ...
- datetimepicker[jquery-ui]时间控件的三种初始化方法
1.只显示年月日 $( ".datepicker").datepicker({ needDay:true, changeMonth: true, //显示月份 changeYear ...
- java 遍历arrayList的四种方法
package com.test; import java.util.ArrayList;import java.util.Iterator;import java.util.List; public ...
- 2017.10.25 Java List /ArrayList 三种遍历方法
java list三种遍历方法性能比较 学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入记录,然后遍历ArrayList,测试代码如下: pac ...
- Java List /ArrayList 三种遍历方法
java list三种遍历方法性能比较http://www.cnblogs.com/riskyer/p/3320357.html JAVA LIST 遍历http://blog.csdn.net/lo ...
随机推荐
- SpringBoot-SpringCloud-版本对应关系
刚开始研究SpringCloud和SpringBoot的时候,困惑点比较多,SpringBoot是从1.X.X到目前的2.X.X版本,但是SpringCloud基于SpringBoot,版本之间肯定是 ...
- 低版本vsphere部署高版本导出的OVF 报“硬件系列vmx-13不受支持“解决办法
用文本编辑器之类的工具 打开ovf模板 然后下拉20多行左右 找到vmx-13这条报错内容 将13更改为数字较低的值 例如11,12
- 最长上升子序列(LIS)长度及其数量
例题51Nod-1376,一个经典问题,给出一个序列问该序列的LIS以及LIS的数量. 这里我学习了两种解法,思路和代码都是参考这两位大佬的: https://www.cnblogs.com/reve ...
- 矩阵(R语言)
mymatrix <- matrix(vector, nrow=number_of_rows, ncol=number_of_columns,byrow=logical_value,dimnam ...
- List Comprehension ()(一)
>>> L = [1,2,3,4,5] >>> L = [x+10 for x in L] >>> L [11, 12, 13, 14, 15] ...
- Git GUI使用方法【转】
前言 之前一直想一篇这样的东西,因为最初接触时,我也认真看了廖雪峰的教程,但是似乎我觉得讲得有点多,而且还是会给我带来很多多余且重复的操作负担,所以我希望能压缩一下它在我工作中的成本,但是搜索了一下并 ...
- tomcat7以下线程控制
web server允许的最大线程连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右. 1.编辑tomcat安装目录下的conf目录下的server. ...
- (转)使用OpenGL显示图像(三)绘制Shapes
绘制形状 编写:jdneo - 原文:http://developer.android.com/training/graphics/opengl/draw.html 在定义了使用OpenGL绘制的形状 ...
- ROM、PROM、EPROM、EEPROM、Flash ROM分别指什么?
ROM指的是“只读存储器”,即Read-Only Memory.这是一种线路最简单半导体电路,通过掩模工艺, 一次性制 造,其中的代码与数据将永久保存(除非坏掉),不能进行修改.这玩意一般在大批量生产 ...
- User control's property loses value after a postback
User control's property loses value after a postback All variables (and controls) are disposed at th ...