【常见集合篇06】ArrayList实现数组和List转换

49 阅读1分钟

如何实现数组和List之间的转换

image.png

  • 数组转List。使用JDK中java.util.Arrays工具类的asList方法
  • List转数组,使用List的toArray方法。无参toArray方法返回Object数组,传入初始化长度的数组对象,返回该对象数组

使用Arrays.asList转List后,修改了数组内容,list受影响?

【受影响】

image.png Arrays.asList转List后,如果修改了数组的内容,list会受影响,因为它的底层使用的Arrays类中的内部类ArrayList来构造的集合,它在这个集合的构造器中,把我们传入的这个集合进行了包装而已,最终指向的都是同一个内存地址。

List用toArray转数组,修改了List内容,数组受影响?

【不受影响】

image.png List用toArray转数组,修改了List内容,数组不受影响,当调用了toArray以后,在底层它进行了数组的拷贝,跟原来的数组的元素就没有啥关系了,所以即使修改list,数组也不受影响