第三次学JAVA再学不好就吃翔(part87)--Arrays工具类的asList方法

eelq

关注

阅读 16

2022-06-02

学习笔记,仅供参考,有错必纠


Arrays工具类的asList方法



  • 方法概述
public static <T> List<T> asList(T... a)

返回一个受指定数组支持的固定大小的列表,参数a表示一个支持列表的数组。



  • 举个例子
package com.guiyang.object;

import java.util.List;
import java.sql.Array;
import java.util.ArrayList;
import java.util.Arrays;

public class Demo4_AsList {

public static void main(String[] args) {

demo1();
// 集合转数组
System.out.println("----");
Demo2();
// 数组转集合
}

private static void Demo2() {
String[] arr = {"a", "b", "c"};
List<String> list = Arrays.asList(arr);
System.out.println(list);

System.out.println("-------");

int[] arr1 = {1, 2, 3};
//因为数组中为基本数据类型int,所以当我们将arr1传递给asList时
//asList会将整个数组作为一个对象,转化为集合
List<int[]> list1 = Arrays.asList(arr1);
//当我们将数组转换为集合时,则数组内元素必须是引用数据类型
//否则会返回一个装有数组对象地址值的集合

System.out.println(list1);
System.out.println("-------");

Integer[] arr2 = {11, 22, 33};
List<Integer> list2 = Arrays.asList(arr2);
System.out.println(list2);
}

private static void demo1() {
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");

String[] arr = list.toArray(new String[0]);
//当集合转换为数组时,设置的数组的长度如果小于等于集合的size
//那么转换后的数组长度(String[0])将等于size
//如果设置的数组长度(String[10])大于集合的size
//则分配的数组长度和我们指定的长度一样

for (String string : arr) {
System.out.println(string);
}
}

}

注意!通过asList方法,由数组转换来的集合,除了不可以增加和删除以外,可以用集合的其他任何方法。

输出:

a
b
c
d
----
[a, b, c]
-------
[[I@6d06d69c]
-------
[11, 22, 33]

精彩评论(0)

0 0 举报