转自:http://www.java265.com/JavaJingYan/202110/16354330941610.html

ArrayList简介:

ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。

ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的 CopyOnWriteArrayList类。

ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了RandomAccess接口,支持快速随机访问,实际上就是通过下标序号进行快速访问,实现了Cloneable接口,能被克隆。


下文笔者讲述java中初始化ArrayList的三种不同方式,如下所示:

方式1:
实例化一个List对象
然后采用add方法添加数值

例:

 List<String> list1 = new ArrayList<String>();
  list1.add("java265.com");
  list1.add("我的最爱");
  list1.add("我的网站");

借助一个List进行初始化

List<String> list2 = new ArrayList<String>(Arrays.asList("java265.com", "我最爱的网站", "我的最爱"));
  List<String> list3 = new ArrayList<String>(Collections.nCopies(2, "java265.com"));
  

使用匿名内部类进行初始化

下面的初始化代码:
     最外层的大括号:代表创建一个ArrayList匿名子类
	 内层的大括号定义了该匿名子类的构造块,自定运行其中的代码
  List<String> list4 = new ArrayList<String>() {
          {
              add("Java265.com");
              add("我的最爱");
              add("我的网站");
          }
      };
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。