日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java基础 --- Arrays.asList():返回指定数组支持的固定大小列表

發布時間:2024/7/23 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java基础 --- Arrays.asList():返回指定数组支持的固定大小列表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Arrays.asList():返回指定數組支持的固定大小列表

首先看下這個方法的源碼注釋,注意第一句,Returns a fixed-size list backed by the specified array.,
意思就是:返回指定數組支持的固定大小列表

所以:

不能增加和刪除元素
不能增加和刪除元素
不能增加和刪除元素

細節1

入參為基本類型數組時,返回的List,打印出來是一個對象,size也是1

int[] a_int = {1, 2, 3, 4}; List ints = Arrays.asList(a_int); System.out.println("ints:" + ints);//ints:[[I@5f4da5c3] System.out.println("ints.size:" + ints.size());//ints.size:1

細節2

入參為非基本類型,比如是包裝類時,打印正常,size是4。

//這是因為List的泛型不允許是基本類型 Integer[] a_integer = {1, 2, 3, 4}; List<Integer> integers = Arrays.asList(a_integer); System.out.println("integers:" + integers);//integers:[1, 2, 3, 4] System.out.println("integers.size:" + integers.size());//integers.size:4

細節3

List對某個index的值做修改,數組對應的值也修改,說明他倆指向的是同一個地方

Integer[] a_integer = {1, 2, 3, 4}; List<Integer> integers = Arrays.asList(a_integer); integers.set(0, 0); System.out.println(Arrays.asList(a_integer));//[0, 2, 3, 4]

細節4

這樣new ArrayList再包一層,list才可以做增加和刪除元素的操作

List<String> list1 = new ArrayList<>(Arrays.asList("qqq", "www", "eee")); list1.add("aaa1"); list1.forEach(str -> System.out.println(str));

細節5

這樣不包一層,list2就是定長的,不能做增加和刪除元素
因為Arrays.asList返回的ArrayList不是咱們平時常用的java.util包下的ArrayList,而是Arrays類下的一個靜態內部類,恰巧名字也叫ArrayList,由于這個內部類沒有重寫add和remove方法,所以不能進行增加和刪除的操作

List<String> list2 = Arrays.asList("qqq", "www", "eee"); System.out.println(list2.contains("qqq")); list2.add("aaa2");//報錯:java.lang.UnsupportedOperationException

總結

Arrays.asList()這個方法,最好不要用于數組轉list。

一般適用于初始化一個定長list,并賦值。

比如:

class TestArrays{private List<String> countrys = Arrays.asList("中國","日本","美國");public void 你的方法(){//具體使用countrys.size();countrys.get(0);} }

總結

以上是生活随笔為你收集整理的java基础 --- Arrays.asList():返回指定数组支持的固定大小列表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。