java初始化list并赋值_Java创建List、Map等集合对象的同时进行赋值操作

  • Post author:
  • Post category:java


问题简介

在Java当中,若希望在创建数组的同时给数组赋值很简单,可以想下面这样:

int[] num = {1,2,3};

String strs = {“a”, “b”, “c”}

但是,如果我们创建List集合,或者Map集合时,也想快速地为它赋初始值,应当如何做呢?

解决方式

方式1:调用函数

请看如下代码:

ArrayList list = new ArrayList<>(Arrays.asList(“aa”, “bb”, “cc”));

Arrays.asList(T… a) 方法的参数是一个可变长参数,也就是说他能够传入一个数组,也能够传入多个参数,而它的作用就是将传入的数组或多个数据封装成List集合返回,而上面的代码就是接收返回的List集合,并将其作为参数传入ArrayList的构造方法,创建一个新的ArrayList对象。

说到这里有人可能要问了,为什么不能直接将asList方法的返回值赋给list参数,而要将它传入构造器创建新的对象呢?这不是脱裤子放屁——多此一举吗。当然不是,请看下面的代码:

// 代码1

List list1 = Arrays.asList(“aa”, “bb”, “cc”);

list1.add(“dd”); // UnsupportedOperationException

// 代码2

S



版权声明:本文为weixin_42134240原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。