Arrays.asList()方法注意事项

1、Arrays.asList()底层数组作为物理层实现、所以返回的List大小不可更改,即不可以做add()、remove()操作,并且对List所做的任何变动都会致使原数组发生变动。

public class ArraysAsList {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Integer[] i = new Integer[] {1,2,3,4,5};
        List<Integer> l = Arrays.asList(i);
        Collections.shuffle(l);
        for(int a : i)
            System.out.print(a + " ");
    }

}

输出:

1 2 4 3 5

原文地址:https://www.cnblogs.com/mgblogs/p/11405866.html

时间: 2024-11-16 01:44:59

Arrays.asList()方法注意事项的相关文章

工具类Arrays.asList()方法把数组转换成集合

工具类Arrays.asList()方法把数组转换成集合 不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportedOperationException() 问题分析: 1.测试 被注释的三行可以分别解开注释,运行后确实出现了上述所说的异常 2.看源码 似乎没有问题.往下看 然而实际上我们点进到ArrayList发现,其实ArrayList并不是我们平时用的ArrayList.而是Arrays里面的一个内部类.而且这个内部类没有add,clear,remo

浅谈Arrays.asList()方法的使用

首先,该方法是将数组转化为list.有以下几点需要注意: (1)该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean) (2)该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新 (3)不支持add和remove方法 上代码: 1 package com.hdu.test; 2 3 import java.util.Arrays; 4 import java.util.List; 5 6 abstract public class

java——Arrays.asList()方法

Arrays.asList() 是将数组作为列表 问题来源于: public class Test { public static void main(String[] args) { int[] a = {1,2,3,4}; List list = Arrays.asList(a); System.out.println(list.size()); //1 } } 期望的输出是 list里面也有4个元素,也就是size为4,然而结果是1. 原因如下: 在Arrays.asList中,该方法接受

Arrays.asList方法遇到的问题

在使用Arrays.asList(T...a)方法时,遇到了 java.lang.UnsupportedOperationException  异常. 后来发现,该方法返回的类型是Arrays$ArrayList,即Arrays类的内部类ArrayList,而非集合中的ArrayList. Arrays$ArrayList继承了AbstractList但没有重写remove,add等方法,因此跟随父类默认抛出java.lang.UnsupportedOperationException. 而集合

Arrays类--Arrays.asList()方法使用

java.util类 Arrays java.lang.Object--java.util.Arrays public class Arrays extends Object 此类包含用来操作数组(比如排序和搜索)的各种方法.此类还包含一个允许将数组作为列表来查看的静态工厂. 除非特别注明,否则如果指定数组引用为 null,则此类中的方法都会抛出 NullPointerException.一段有意思的代码如下: Java代码 public static void main(String[] ar

Arrays.asList方法总结

import java.util.Arrays; import java.util.List; /** * * 本类演示了Arrays类中的asList方法 * 通过四个段落来演示,体现出了该方法的相关特性. * * (1) 该方法对于基本数据类型的数组支持并不好,当数组是基本数据类型时不建议使用 * (2) 当使用asList()方法时,数组就和列表链接在一起了. * 当更新其中之一时,另一个将自动获得更新. * 注意:仅仅针对对象数组类型,基本数据类型数组不具备该特性 * (3) asLis

Java-Arrays类-Arrays.asList()方法详解

此类包含用来操作数组(比如排序和搜索)的各种方法.此类还包含一个允许将数组作为列表来查看的静态工厂. Arrays.asList() 是将数组作为列表来查看的方法,值得注意的是: public class Test { public static void main(String[] args) { int[] a = new int[]{1,2,3,4,5,6,7,8}; List list1 = Arrays.asList(a); System.out.println(list1.size(

Arrays.asList()方法

// Collection<Integer> integers = new ArrayList<Integer>();//(Arrays.asList(1,2,3,4,5)); Collection<Integer> integers = new ArrayList<Integer>(Arrays.asList(1,2,3,4,5));// integers = Arrays.asList(1,2,3,4,5); System.out.println(int

JDK5的新特性之可变参数&amp;Arrays.asList()方法

[代码] 1 package com.hxl; 2 3 import java.util.Arrays; 4 import java.util.List; 5 6 public class Test { 7 8 public static void main(String[] args) { 9 // 定义一个数组 10 String[] ss = { "Hello", "World", "Java", "Android",