心得体会;
1:java里的数组在栈上,但是初始化的值在堆上,就好比调用。array数组名指向的是堆上{1,2,3,4}的首地址.
2:数组的遍历有for in for each,前者可以修改数组的值,后者一般只用于打印。
3.内置类型的传递和数组传递的不同。内置类型改变形参的值,实参不改变,而在数组中交换两个变量的值就可以实现。改变数组中的值,会改变。其实数组也是保存的地址,传递参数就好比指向同一块地址。
4.返回指定数组的内容的字符串表示形式String ret=Arrays.toString(array)
5.//Arrays数组的操作,包含很多数组的操作
//数组的拷贝:四种方式,四种都是浅拷贝
//深拷贝:通过修改array2的值,不会影响array1,数组中存的是简单类型就是深拷贝。
//存的是引用类型就是浅拷贝,数组中如果存的是引用类型。因为村的是地址,改变其中一个,另一个也会改变,只要问到你,就是浅拷贝。
//for循环
//Arrays.copyOf返回一个新的对象
//System.arraycopy(原数组,原数组开始拷贝的位置,目的地数组,目的地的起始位置,拷贝的长度),这种是最快的
//array.clone();返回一个新的对象,类似于副本
6.//Arrays 工具类当中的常用方法介绍:
//toString()把数组当字符串打印 binarySearch() 二分查找 copyOf() 拷贝数组
//sort排序Arrays.sort();
7.二维数组可以看作两个一维数组的拼接,各自执行堆上的一个一维数组。