学习ArrayList 搜资料集合

前言

Java ArrayList 源码链接地址
源码里看到3个没用过的方法:

1、System.arraycopy(data, 0, newData, 0, size); // 数组拷贝
2、Arrays.fill(data, 0, size, null); // 数组填充
3、(T[]) Array.newInstance(a.getClass().getComponentType(), size); //创建数组实例

一、数组拷贝的几种方式

1、clone

clone方法是从Object类继承过来的,基本数据类型(int ,boolean,char,byte,short,float ,double,long)都可以直接使用clone方法进行克隆,注意String类型是因为其值不可变所以才可以使用。

2、System.arraycopy

public static native void arraycopy(Object src, int srcPos, Object dest, int desPos, int length)

Copies an array from the specified source array, beginning at the specified position, to the specified position of the destination array.

Arrays.copyOf底层其实也是用的System.arraycopy
Arrays.copyOfRange底层其实也是用的System.arraycopy,只不过封装了一个方法

参考链接
https://blog.csdn.net/u011669700/article/details/79323251
https://blog.csdn.net/oChangWen/article/details/50587937

二、数组填充

Java Util 类的 Arrays.fill(arrayname,value) 方法和Arrays.fill(arrayname ,starting index ,ending index ,value) 方法向数组中填充

参考链接
https://www.runoob.com/java/arrays-fill.html

三、创建数组实例

参考链接
https://blog.csdn.net/feeltouch/article/details/79190805






不知道咋分析源码,只好搜罗下别人的集合了,做个记录
刚在微信看到的文章:https://mp.weixin.qq.com/s/OwnKhRKAw1U9rNQH1HayMQ


你可能感兴趣的:(java--学习笔记)