java-数组
来源:互联网 发布:英语翻译什么软件好 编辑:程序博客网 时间:2024/05/16 09:18
1)数组的初始化
1.一维数组.三种int[] array={1,2,3,4,5};int[] array1=new int[5]; array1={1,2,3,4,5};int[] array2=new int[]={1,2,3,4,5};2.二维数组.三种int[][] array=new int[][]{{1,2},{1,2},{1,2}}; int[][] array1=new int[3][]; array1[0]=new int[]{1,2}; array1[1]=new int[]{1,2}; array1[2]=new int[]{1,2};int[][] array3=new int[3][2];
3)数组的克隆
1.int[] array1=new int[]{1,2}; int[] array2=array1.clone; //java中的浅拷贝,只拷贝了引用 2.int[] array3=Arrays.copyOf(array1,array.length); //调用的其实是方法3的函数对其中的参数进min(source.length, 用户要拷贝的长度) 3.int[] array4=new int[array1.length]; System.arraycopy(array1,0,array4,0,array1.length); //参数1是source数组,参2是source的起始点,参3是dest数组,参4是dest数组的起始点,参5是用户指定要拷贝的长度,这个方法可用于数组的缩容可扩容
4.数组的相关操作
1.比较数组 System.out.println(array1==array2);//ture/false System.out.ptintln(Array.equal(array1,array2)); 2.排序 Array.sort(array2);//默认由小到大 3.找元素下标 int index=Arrays.brinarySearch(array2,12); 4.数组填充 Array.fill(array,100);//把array中的元素都换成100 5.数组的遍历输出 一维数组 for(int val:array1) { System.out.println(val); } 二维数组 for(int [] arr:array2) for(int val:arr) { System.out.println(val); }
5.数组大小的计算 ( 8字节对齐)
//数组的长度都统一为4字节存储 以int[] array={1,2,3}为例 类的大小: 8字节 数组的长度:4字节 第一个元素:4字节 第二个元素:4字节 第三个字节:4字节 toll:24字节 以long[] array={1,2,3}为例 类的大小: 8字节 数组的长度:4字节 ******(不够第一个元素补空位) 第二个元素:8字节 第三个字节:8字节 toll:40字节
1:删除数组中的56
int[] array5=new int[]{12,4,56,7,56,21,56,56,89,62,41};System.out.println("前:"+Arrays.toString(array5)); int count=0;//用count来记录删除的个数 for(int i=0;i<array5.length;i++) { if(56==array5[i]) { count++; System.arraycopy(array5, i+1, array5, i, array5.length-i-count);//将56后的元素复制到array并覆盖56 i--; } } array5=Arrays.copyOf(array5,array5.length-count); System.out.println("删除后:"+Arrays.toString(array5));//删除后给数组缩容
2.构造一个随机数组,并去重
int[] array1=new int[100];//构造随机数组 for(int k=0;k<array1.length;k++) { Random r=new Random(); int data=r.nextInt(100); array1[k]=data; } System.out.println("去重前:"+Arrays.toString(array1)); int count=0,i=0,j=1; for( i=0;i<array1.length;i++) { for( j=i+1;j<array1.length;j++) { if(array1[i]==array1[j]) { count++; System.arraycopy(array1, j+1, array1, j, array1.length-j-1); array1=Arrays.copyOf(array1,array1.length-1);//给数组的长度减一 //System.out.println("去重后:"+Arrays.toString(array1)); j--;//每次删除完之后要从当前位置开始比较 } } } System.out.println(Arrays.toString(array1));
3:能被5整除的数前加0
int[] array=new int[100]; for(int i=0;i<array.length;i++) { Random r=new Random(); int data=r.nextInt(100); array[i]=data; } System.out.println("加0前:"+Arrays.toString(array)); int count=0; for(int i=0;i<array.length;i++) { if(array[i]%5==0) { int j; count++; array=Arrays.copyOf(array, array.length+1); System.arraycopy(array, i, array, i+1, array.length-1-i); array[i]=0; i=i+1; } } System.out.println("加0后:"+Arrays.toString(array));
阅读全文
0 0
- java数组添加数组
- java数组添加数组
- Java数组-二维数组
- 【Java】数组--二维数组
- java-数组/二维数组
- Java数组、遍历数组
- java数组
- JAVA数组
- JAVA数组
- JAVA数组
- Java数组
- Java数组
- java数组
- java数组
- java数组
- Java--数组
- Java数组
- java 数组
- 考试报名系统
- 安卓开发——如何完美隐藏底部虚拟导航栏
- Hadoop学习笔记—4.初识MapReduce 一、神马是高大上的MapReduce MapReduce是Google的一项重要技术,它首先是一个编程模型,用以进行大数据量的计算。对于大数据
- 【10.26测试】
- pull2
- java-数组
- 51例程---流水灯
- 欢迎使用CSDN-markdown编辑器
- 数据分析pandas用法
- Android 加载GIF图最佳实践方案
- Windows下执行django-admin.py提示不存在问题处理方法
- FilenameFilter 回调
- luogu1034[矩形覆盖]
- Android Studio报错usage of API documented as @since 1.8