Java用Arrays.asList初始化ArrayList实例方法
Java中使用Arrays.asList初始化ArrayList
packagexiaoling; importjava.util.Arrays; importjava.util.ArrayList; importjava.util.List; publicclassListTest{ publicstaticvoidmain(String[]args){ List>list=newArrayList<>(); for(intnum=0;num<10;++num){ list.add(newArrayList(Arrays.asList(num,num+1))); } System.out.println(list); } }
运行结果为:[[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[6,7],[7,8],[8,9],[9,10]]
扩展学习:
java使用Arrays.asList快速创建List集合
程序中某段案例代码如下:
Map>tMap=newHashMap >(); tMap.put(name,Arrays.asList(newCronTrigger[]{trigger}));
程序运行抛出异常:java.lang.UnsupportedOperationException
错误原因:
为了快速创建List而使用了Arrays.asList方法,但此方法返回的ArrayList不是java.util.ArrayList对象,而是Arrays的一个内部类。
我们可以看下源码
Arrays.class: @SafeVarargs publicstaticList asList(T...a){ returnnewArrayList<>(a); } --------------------------------------------------- privatestaticclassArrayList extendsAbstractList implementsRandomAccess,java.io.Serializable { privatestaticfinallongserialVersionUID=-2764017481108945198L; privatefinalE[]a; ArrayList(E[]array){ if(array==null) thrownewNullPointerException(); a=array; } .....
上述代码中可以看出内部类ArrayList继承了AbstractList
感谢大家的学习和对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。