Java用Arrays.asList初始化ArrayList實(shí)例方法
Java中使用Arrays.asList初始化ArrayList
package xiaoling;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.List;
public class ListTest{
public static void main(String[] args){
List<List<Integer>> list = new ArrayList<>();
for (int num=0; num<10; ++num){
list.add(new ArrayList(Arrays.asList(num, num+1)));
}
System.out.println(list);
}
}
運(yùn)行結(jié)果為:[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10]]
擴(kuò)展學(xué)習(xí):
java使用Arrays.asList快速創(chuàng)建List集合
程序中某段案例代碼如下:
Map<String, List<CronTrigger>> tMap = new HashMap<String, List<CronTrigger>>();
tMap.put(name, Arrays.asList(new CronTrigger[] { trigger }));
程序運(yùn)行拋出異常:java.lang.UnsupportedOperationException
錯(cuò)誤原因:
為了快速創(chuàng)建List而使用了Arrays.asList方法,但此方法返回的ArrayList不是java.util.ArrayList對(duì)象,而是Arrays的一個(gè)內(nèi)部類。
我們可以看下源碼
Arrays.class:
@SafeVarargs
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
---------------------------------------------------
private static class ArrayList<E> extends AbstractList<E>
implements RandomAccess, java.io.Serializable
{
private static final long serialVersionUID = -2764017481108945198L;
private final E[] a;
ArrayList(E[] array) {
if (array==null)
throw new NullPointerException();
a = array;
}
.....
上述代碼中可以看出內(nèi)部類ArrayList繼承了AbstractList
感謝大家的學(xué)習(xí)和對(duì)腳本之家的支持。
相關(guān)文章
Java中@ConditionalOnProperty注解使用
在Spring?Boot中,@ConditionalOnProperty注解是一種方便的工具,用于根據(jù)應(yīng)用程序配置文件中的屬性值來控制Bean的創(chuàng)建和加載,本文就來介紹一下Java中@ConditionalOnProperty注解使用,感興趣的可以了解一下2023-11-11
spring?boot配置dubbo方式(properties)
這篇文章主要介紹了spring?boot配置dubbo方式(properties),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
springboot2.x整合redis知識(shí)點(diǎn)講解
在本篇文章中小編給大家分享的是一篇關(guān)于springboot2.x整合redis知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-01-01
Java并發(fā)之傳統(tǒng)線程同步通信技術(shù)代碼詳解
這篇文章主要介紹了Java并發(fā)之傳統(tǒng)線程同步通信技術(shù)代碼詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02
Java連接mysql數(shù)據(jù)庫的詳細(xì)教程(推薦)
這篇文章主要介紹了Java連接mysql數(shù)據(jù)庫的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
Java Fluent Mybatis 項(xiàng)目工程化與常規(guī)操作詳解流程篇 上
Java中常用的ORM框架主要是mybatis, hibernate, JPA等框架。國內(nèi)又以Mybatis用的多,基于mybatis上的增強(qiáng)框架,又有mybatis plus和TK mybatis等。今天我們介紹一個(gè)新的mybatis增強(qiáng)框架 fluent mybatis2021-10-10
MyBatis實(shí)現(xiàn)MySQL批量插入的示例代碼
本文主要介紹了MyBatis實(shí)現(xiàn)MySQL批量插入的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
Java 日期格式加上指定月數(shù)(一個(gè)期限)得到一個(gè)新日期的實(shí)現(xiàn)代碼
這篇文章主要介紹了Java 日期格式加上指定月數(shù)(一個(gè)期限)得到一個(gè)新日期的實(shí)現(xiàn)代碼,需要的朋友可以參考下2018-05-05

