关于数组转换为list的集合的问题

将一个数组转换为list集合时,使用List <数组类型>list = Arrays.asList(数组),当转换后,list不可改变大小。请看下面的程序:

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class TestArraysAsList {
public static void main(String[] args) {
  String []str = {"aaa","bbb","ccc"};

  List <String> list = Arrays.asList(str);
  list.add("aaa");//不能支持的操作,因为list是不可以变化的,此时不能添加
  Collections.shuffle(list);//随机混排
  System.out.println(list.get(0));
}

}



运行结果:

Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(Unknown Source)
at java.util.AbstractList.add(Unknown Source)
at com.test0806.TestArraysAsList.main(TestArraysAsList.java:13)



分析:抛出异常,原因是因为,经过Arrays(数组操作工具)的方法asList()转换得到的list是不可变化的。所以不能添加。

原文: http://blog.csdn.net/tpf01/article/details/2776828

你可能感兴趣的:(list)