欢迎光临散文网 会员登陆 & 注册

数组的拷贝及Arrays类

2022-06-27 14:17 作者:虚云幻仙  | 我要投稿

/**
* 测试数组的拷贝及Arrays类
*/

import java.util.Arrays;
//导入Arrays类
public class Test6 {
   public static void main(String[] args) {
       String[] s1 = {"public","static","void","main"};
       String[] sBak = new String[6];
       System.arraycopy(s1,0,sBak,1,s1.length);
       //System.arraycopy拷贝方法  格式(源数组String src(source),拷贝起始位置int srcPos(position)包含起始位,目标数组String dest,目标位置int destPos,拷贝长度int length)
       for(int i = 0;i<sBak.length;i++){
           System.out.println(sBak[i]);
           //4个元素从第1位开始拷贝 第0位和第5位都是null
       }
       //拷贝为System.arraycopy() 属于System

       //以下为Arrays类的内容

       System.out.println(Arrays.toString(s1));
       //Arrays类的静态方法toString 不是Object的toString重写 返回s1的内容 结果 [public, static, void, main]
       //Object的toString是普通方法 属于对象 调用格式:s1.toString()括号内无参 不是静态方法不属于类


       int[] i1 = {5,7,2,9,1,3,78,54,32,45,11};
       System.out.println(Arrays.toString(i1));
       Arrays.sort(i1);
       //Arrays.sort()对数组进行排序 由小到大
       System.out.println(Arrays.toString(i1));

       System.out.println(Arrays.binarySearch(i1,3)+" 二分法查找 在i1数组中搜索 3 找到则返回下标 未找到则返回-1");
       //Arrays.binarySearch()方法需要先对数组排序sort才可以使用
       //比较中间位元素和3 比3大则从该元素左侧不包含该元素的数列再取中间位比较 直到找到结束搜索


       Arrays.fill(i1,2,4,10);
       //Arrays.fill方法 填充替换i1数组的元素 从第2位开始到第4位不包含4 将这些元素全部替换为10
       //一般涉及到索引从fromIndex到toIndex的范围 原则是包头不包尾 即fromIndex<=范围<toIndex

       System.out.println(Arrays.toString(i1));
   }
}

数组的拷贝及Arrays类的评论 (共 条)

分享到微博请遵守国家法律