int[] a = {1,2,3};
List list = Arrays.asList(a);
如上代码,期望转化为有三个元素的 list,结果发现,list 里只有一个数组类型的元素。
原因是 int 类型可以转化为Integer,int 数组却不能转化为 Integer 数组。
解决办法:
使用 Arrays.stream 的方式来转化
或者 把数组声明为 Integer
Integer[] a = {1,2,3};
a[1] = 4;
List list = Arrays.asList(a);
list.add(5);
java list和arraylist的区别。如上,数组元素更改之后,List 元素也更改了。说明 list 共享了数组,一定要注意相互修改引起的数据混乱,不要交给其他方法修改。
对 list 进行增删操作报错了。
原因是 转化后的 list 并不是我们熟悉的 java.util.ArrayList , 而是 Arrays 的内部类,并没有实现 add 方法。
解决办法:重新 new 一个,实现两者分离。
需要快速查找单个值,对空间要求没那么严格,用map
ArrayList 在任何方面都胜过 LinkedList
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态