Array.asList:数组转list
String s[]={"aa","bb","cc"};
List<String> sList=Arrays.asList(s);
for(String str:sList){//能遍历出各个元素
System.out.println(str);
}
System.out.println(sList.size());//为3
System.out.println("- - - - - - - - - - -");
int i[]={11,22,33};
List intList=Arrays.asList(i); //intList中就有一个Integer数组类型的对象,整个数组作为一个元素存进去的
for(Object o:intList){//就一个元素
System.out.println(o.toString());
}
System.out.println("- - - - - - - - - - -");
Integer ob[]={11,22,33};
List<Integer> objList=Arrays.asList(ob); //数组里的每一个元素都是作为list中的一个元素
for(int a:objList){
System.out.println(a);
}
System.out.println("- - - - - - - - - - -");
//objList.remove(0);//asList()返回的是arrays中私有的终极ArrayList类型,它有set,get,contains方法,但没有增加和删除元素的方法,所以大小固定,会报错
//objList.add(0);//由于asList返回的list的实现类中无add方法,所以会报错
输出结果:
- aa
- bb
- cc
- 3
- - - - - - - - - - - -
- [I@287efdd8
- - - - - - - - - - - -
- 11
- 22
- 33
- - - - - - - - - - - -
如果想根据数组得到一个新的正常的list,当然可以循环一个一个添加,也可以才有以下2个种方法:
ArrayList<Integer> copyArrays=new ArrayList<Integer>(Arrays.asList(ob));//这样就是得到一个新的list,可对其进行add,remove了
copyArrays.add(222);//正常,不会报错 Collections.addAll(new ArrayList<Integer>(5), ob);//或者新建一个空的list,把要转换的数组用Collections.addAll添加进去
另外讨论下Collections.addAll和list.addAll
List<Integer> list1 = new ArrayList<Integer>() {{add(0); add(-1);}};
List<Integer> list2 = new ArrayList<Integer>(Arrays.asList(2, 4, -9));
list1.addAll(list2);
System.out.println(list1);
list2.set(0, 100000);
System.out.println(list1);//深复制
System.out.println();
//功能性展示
Collections.addAll(list2, 34, 67, 78);
System.out.println(list2);
list2.addAll(Arrays.asList(34, 67, 78));
System.out.println(list2);
System.out.println();
结果:
[0, -1, 2, 4, -9]
[0, -1, 2, 4, -9]
[100000, 4, -9, 34, 67, 78]
[100000, 4, -9, 34, 67, 78, 34, 67, 78]
Array.asList:数组转list的更多相关文章
- Array.asList:数组转list时你一定要知道的“陷阱”!
最近开发中,业务上处理,经常用到asList方法,这让我不经想起了它的很多容易让人犯错的地方或者误解的地方,所以就想抽出时间来,整理一下,和大家分享出来,深夜了,话不多说,主要以代码为主,简易的代码, ...
- Arrays.asList(数组) 解说
最近在用Arrays的asList()生成的List时,List元素的个数时而不正确. Java代码 一:Arrays.asList(数组)该方法是将数组转化为集合(该方法主要用于Object对象数组 ...
- golang之 Array(数组)
目录 一.Array(数组) 二.数组的定义 1. 基本语法 三.数组的初始化 1. 方式一 2. 方式二 3. 方式三 四.数组的遍历 1. 方式一:for循环遍历 2. 方式二:for range ...
- vector以及array和数组
//比较数组.vector.array #include <iostream> #include <vector> #include <array> #includ ...
- java中Array(数组)的用法
8.Array(数组) 数组是作为对象来实现的.(really occupy the memopry,真实的占用内存 ) An array is a data structure that st ...
- javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈
Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...
- [LeetCode] Patching Array 补丁数组
Given a sorted positive integer array nums and an integer n, add/patch elements to the array such th ...
- [LeetCode] Rotate Array 旋转数组
Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3, the array ...
- [LeetCode] Remove Duplicates from Sorted Array 有序数组中去除重复项
Given a sorted array, remove the duplicates in place such that each element appear only once and ret ...
随机推荐
- Fantasy of a Summation n个数,k层重复遍历相加。求它的和%mod的值;推导公式+快速幂
/** 题目:Fantasy of a Summation 链接:https://vjudge.net/contest/154246#problem/L 题意:n个数,k层重复遍历相加.求它的和%mo ...
- 手机CPU知识扫盲:谈谈手机CPU架构与原理
CPU是手机上面最复杂,最贵的Soc(芯片),担任的也是手机中大脑的位置,是手机跑分性能的决定性硬件.智能手机发展到今天,各大手机CPU厂商也从春秋战国逐渐到了现在四国鼎立的时代(高通,MTK,三星, ...
- Servlet Cookie 处理
Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. 识别返回用户包括三个步骤: 服务 ...
- jetty访问jsp页面出现异常:org.apache.jasper.JasperException: PWC6345: A full JDK (not just JRE) is required解决
今天在jetty下配置一个jsp模版的报表页面,报如下异常信息: org.apache.jasper.JasperException: PWC6345: There is an error in ...
- To Be a Dog Man
作为一个多年的篮球爱好者,多年保持者对于足球的偏见. 也许不了解也是偏见開始的地方. 直到我最终看到了那个男人---梅西 梅西:一个犬人,一个病人 视频作者是阿根廷专栏作家Hernam Casciar ...
- ASP.NET MVC 使用dataTable(3)--更多选项参考
ASP.NET MVC 使用dataTable(3)--更多选项参考 jQuery dataTables 插件是一个优秀的表格插件,是后台工程师的福音!它提供了针对数据表格的排序.浏览器分页.服务器 ...
- eclipse中如何查看一个android模拟器的内部文件
eclipse中如何查看一个android模拟器的内部文件,有时要在其中添加一个文件夹或是什么的,要手动的做这件事,而不能够用代码去完成时,就要用这个方法了. 1.首先,打开一个安卓模拟器. 2.这个 ...
- Cocos2d-x Lua中实例:帧动画使用
下面我们通过一个实例介绍一下帧动画的使用,这个实例如下图所示,点击Go按钮开始播放动画,这时候播放按钮标题变为Stop,点击Stop按钮可以停止播放动画. 帧动画实例 下面我们再看看具体的程序代码,首 ...
- 1060 最复杂的数(反素数玄学dfs)
1060 最复杂的数 题目来源: Ural 1748 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 把一个数的约数个数定义为该数的复杂程度,给出一个n,求1-n中 ...
- Super Resolution
Super Resolution Accepted : 121 Submit : 187 Time Limit : 1000 MS Memory Limit : 65536 KB Super ...