数组的扩展应用

数组的扩展应用

1 . 数组转字符串
数组转字符串我们可以用toString()方法
数组的扩展应用
2.数组的拷贝
2.1 for循环拷贝数组
数组的扩展应用
底层调用的是System.arraycopy

2.2 调用Arrays.copyOf();
数组的扩展应用
2.3 System.arraycopy(原数组,原数组开始拷的位置,拷结束的位置,拷的长度); 底层由c或者c++实现,速度较快

2.4 Arrays.clone(); 调用的是一个Object方法
2.5 深拷贝浅拷贝的区别
对于内置简单类型来说,他们都是深拷贝,但是对于引用类型,他就是深拷贝。 两个引用同时指向一个对象,则叫浅拷贝,即通过一个引用改变对象的值也改变了另一个的值 通过array2修改array[0]并不会改变array1[0] 下标的值
总结下来可有以下两点
假设B复制了A,修改A的时候,看B是否跟着改变
1》如果B也跟着改变,则是浅拷贝(修改内存中的同一值)
2》如果B没有改变,则是深拷贝(修改堆内存中不同的值)
3. 给定一个数组,找到数组中的最大元素
数组的扩展应用
4. 求给定数组的平均值
数组的扩展应用
5.查找数组中的指定元素
数组的扩展应用

6.检查数组的有序性
按升序排序写出代码如下
数组的扩展应用

7 数组逆序
数组的扩展应用
8.数组的重新排列,例如奇数放前面偶数放后面
注意,四种情况都要判定
数组的扩展应用