数组复制以及arrays方法

package 数组排序和二分查找和调用方法;

import java.util.Arrays;

/**数组复制*/
public class TestArrayCopy {

	public static void main(String[] args) {
		int [] arr = {1,2,3,4,5};
		//方法一
		int []arr1=new int[arr.length];
		for(int i=0;i<arr.length;i++) {
			arr1[i]=arr[i];
		}
		for(int ar:arr1) {
			System.out.println(ar);
		}
		System.out.println("--------------------");
		//方法二
		int []arr2=new int[arr.length];
		System.arraycopy(arr,0,arr2,0,arr.length);
		for(int ar:arr2) {
			System.out.println(ar);
		}
		System.out.println("--------------------");
		//方法三
		int []arr3=arr;
		for(int ar:arr3) {
			System.out.println(ar);
		}
		System.out.println("--------------------");
		//方法四
		int []arr4=arr.clone();
		for(int ar:arr4) {
			System.out.println(ar);
		}
		System.out.println("--------------------");
		//方法五
		int []arr5=Arrays.copyOf(arr1, 5);
		for(int ar:arr1) {
			System.out.println(ar);
		}
		
		
		

	}

}

arrays方法
package 数组排序和二分查找和调用方法;

import java.util.Arrays;

/**Arrays方法*/
public class TestMethod {

	public static void main(String[] args) {
		int []arr0= {44,55,22,66,33};
		int [] arr = { 44, 55, 22 , 66, 33};
		//把数组转换成字符串
		System.out.println(Arrays.toString(arr));
		//数组排序 升序
		Arrays.sort(arr);
		System.out.println(Arrays.toString(arr));
		//指定范围内排序
		int arr1[]=Arrays.copyOf(arr0, arr0.length);
		Arrays.sort(arr1, 1, 4);
		System.out.println(Arrays.toString(arr1));
		//二分查找  前提 :升序排序 ,返回  下标 ,不存在  返回负数   -插入点 -1
		System.out.println(Arrays.binarySearch(arr, 66));
		//两个数组是否相同   (长度、顺序,类型,值)
		System.out.println(Arrays.equals(arr, arr1));
		//填充
		int []arr3= {1,2,3,4,5};
		Arrays.fill(arr3, 100);
		System.out.println(Arrays.toString(arr3));//[100, 100, 100, 100, 100]
		//复制
		int arr4[]=Arrays.copyOf(arr3, arr3.length);
		System.out.println(Arrays.toString(arr4));
		//范围复制
		int []arr5=Arrays.copyOfRange(arr4, 2, 4);
		System.out.println(Arrays.toString(arr5));
		
		
		
	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值