java List 常见坑

 2023-09-11 阅读 23 评论 0

摘要:java List 常见坑 数组转化list int[] a = {1,2,3}; List list = Arrays.asList(a); 如上代码,期望转化为有三个元素的 list,结果发现,list 里只有一个数组类型的元素。 原因是 int 类型可以转化为Integer,int 数组

java List 常见坑

数组转化list

int[] a = {123};
List list = Arrays.asList(a);

如上代码,期望转化为有三个元素的 list,结果发现,list 里只有一个数组类型的元素。

原因是 int 类型可以转化为Integer,int 数组却不能转化为 Integer 数组。

解决办法:

使用 Arrays.stream 的方式来转化

或者 把数组声明为 Integer

对数组转化的list进行增删操作

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 一个,实现两者分离。

什么时候使用 list,什么时候使用 map

需要快速查找单个值,对空间要求没那么严格,用map

什么时候使用 ArrayList ,什么时候使用Linked List

ArrayList 在任何方面都胜过 LinkedList

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/47181.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息