Java 集合 List Arrays.asList
2019独角兽企业重金招聘Python工程师标准>>>
参考链接:阿里巴巴Java开发手册终极版v1.3.0
【强制】使用工具类 Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方
法,它的 add/remove/clear 方法会抛出 UnsupportedOperationException 异常。
说明:asList 的返回对象是一个 Arrays 内部类,并没有实现集合的修改方法。Arrays.asList
体现的是适配器模式,只是转换接口,后台的数据仍是数组。String[] str = new String[] { "you", "wu" };List list = Arrays.asList(str);
第一种情况:list.add("yangguanbao"); 运行时异常。
第二种情况:str[0] = "gujin"; 那么 list.get(0)也会随之修改。
使用Array.asList()初始化一个List集合,就不能再添加新的元素,因为初始化的是一个固定大小的数组,来看Arrays源码。
List<String> seasons = Arrays.asList("Spring", "Summer", "Fall");
seasons.add("Winter");
System.out.println("seasons:"+seasons.toString());
运行结果:
Exception in thread "main" java.lang.UnsupportedOperationExceptionat java.util.AbstractList.add(Unknown Source)at java.util.AbstractList.add(Unknown Source)at com.jerry.entity.ListDemo.main(ListDemo.java:10)
在Java 7以后,实现集合里面不必写明具体的元素类型。
ArrayList的两种用法:
package com.jerry.entity;import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;public class ListDemo {public static void main(String[] args) {List<String> seasons = Arrays.asList("Spring", "Summer", "Fall");
// seasons.add("Winter"); // throw UnsupportedOperationExceptionSystem.out.println("seasons:"+seasons.toString());List<String> seasons2 = new ArrayList<>(seasons);seasons2.add("Winter");System.out.println("seasons2:"+seasons2.toString());List<String> seasons3 = new ArrayList<>();seasons3.add("Spring");seasons3.add("Summer");seasons3.add("Fall");seasons3.add("Winter");System.out.println("seasons3:"+seasons3.toString());// java 8List<String> seasons4 = Stream.of("Spring", "Summer", "Fall").collect(Collectors.toList());System.out.println("seasons4:"+seasons4.toString());}}
运行结果:
seasons:[Spring, Summer, Fall]
seasons2:[Spring, Summer, Fall, Winter]
seasons3:[Spring, Summer, Fall, Winter]
seasons4:[Spring, Summer, Fall]
List<String>的几种用法:
转载于:https://my.oschina.net/u/3781047/blog/1627493
Java 集合 List Arrays.asList相关推荐
- 数组转集合问题Arrays.asList()
数组转集合问题Arrays.asList() 1. 源码: Arrays.class public static <T> List<T> asList(T... a) {//A ...
- Java 关于使用Arrays.asList()数组转集合的问题
在使用工具类Arrays.asList()把数组转换成集合时,不能使用其修改集合的相关方法,他的add/remove/clear方法都会抛出UnsupportedOperationException异 ...
- Java数组转集合之Arrays.asList()用法
Arrays.asList()用法 使用Arrays.asList()的原因无非是想将数组或一些元素转为集合,而你得到的集合并不一定是你想要的那个集合. 而一开始asList的设计时用于打印数组而设计 ...
- Exception in thread “main“ java.lang.UnsupportedOperationException Arrays.asList中add报错
public static void main(String[] args) {List<Integer> integers = Arrays.asList(new Integer[]{1 ...
- java lists.aslist_java Arrays.asList()
在Java中比如想把一个数组转成集合,通常习惯使用Arrays.asList,但是要小心,数组通过Arrays.asList转成集合后,是不能调用集合的add,remove方法的.不然会抛异常Unsu ...
- Java集合之Arrays和Collections
转载自:http://liuguoquan727.github.io/2015/12/18/Java%E9%9B%86%E5%90%88%E4%B9%8BArrays%E5%92%8CCollecti ...
- 【JAVA】谈谈Arrays.asList()
我们在日常的开发中,常常使用到Arrays.asList()这个方法,它能够很轻易地将一个数组转化为一个List. 例如: Integer[] a = new Integer[]{1, 2, 3};L ...
- 直接添加集合对象Arrays.asList()
- java 集合数组初始化_Java用Arrays.asList初始化ArrayList实例方法
Java用Arrays.asList初始化ArrayList实例方法 发布于 2020-2-29| 复制链接 在本篇文章里小妖给大家分享的是关于Java中使用Arrays.asList初始化Array ...
最新文章
- realloc函数引发的慘案
- 装了java_下载安装Java
- 区块链BaaS云服务(17)纸贵科技Z-BaaS“数据治理”
- 【火炉炼AI】机器学习013-用朴素贝叶斯分类器估算个人收入阶层
- mrunit_使用MRUnit测试Hadoop程序
- 有限状态自动机java实现_用java开发编译器之:Thompson构造,将正则表达式转换为有限状态自动机...
- 任正非:感谢美国,帮我把华为给全世界都宣传了
- python实现rsa加密解密代码_使用python实现rsa算法代码
- 21个以Bootstrap为框架的WordPress免费主题模板下载
- 等压线上怎么画风向_如何利用等压线图判定天气
- java编写智能合约_区块链实现JAVA语言智能合约的设计方案简介
- keil5怎么添加stc芯片库
- Note8 android 9 root,红米Note8 MIUI11 安卓9 解账户锁 可登小米账号 永不反锁 完美ROOT 解锁包...
- 阿里云服务器租用价格表最新发布,持续更新
- VMware14 kali linux安装教程
- html 6是什么格式,ac6是什么格式
- conda failed to create process
- 多級commentable處理
- MySQL-基础练习题1
- linux的图形界面的管理
热门文章
- strictmath_Java StrictMath ceil()方法与示例
- Python中abs()和fabs()方法之间的区别
- c# sizeof_C#程序演示sizeof()运算符的示例
- ffmpeg 解码音频(aac、mp3)输出pcm文件
- 远控免杀专题1---基础篇
- php终止脚本执行(exit、die、return)
- 穿越火线全部服务器都显示爆满,穿越火线大区全部爆满,频道挤不进去背后的故事!...
- 网络中典型协议--(DNS,输入url后, 发生的事情. ,ICMP,NAT)
- c++中的异常--1(基本概念, c语言中处理异常,c++中处理异常,异常的基本使用,栈解旋)
- C++四种强制类型转换