
本文共 2081 字,大约阅读时间需要 6 分钟。
一维数组的定义,遍历,拷贝,扩容与缩容
1.一维数组:是相同数据类型的集合,一块连续内存
数组的定义:
定义方式一:int []arr=new int[]{1,2,3};
定义方式二:int []arr=new int[5];
//默认值:0
定义方式三:int []arr={1,2,3}
2.new:在堆上开辟内存
3.arr.length:arr数组的长度
4.数组的遍历:
(1)
for(int index=0;index<arr.length;index++) System.out.println(arr[index]);
(2)
for(int value:arr) System.out.println(value);
(3)
System.out.println(Arrays.toString(arr));
5.ArrayIndexOutOfBoundsExcception:数组下标越界异常
6.数组的拷贝
1) for(int i=0;i<arr.length;i++ ) brr[i]=arr[i];
2) int []brr=arr.clone();
3) brr= Arrays.copyOf(arr,arr.length);
4) System.arraycopy(arr,0,brr,0,arr.length);
7.浅拷贝:拷贝出来的内容存在内存共享 //一般都是浅拷贝
深拷贝:拷贝出来的内容不存在内存共享,地址不同
8.定义grow方法进行扩容
public static void grow(int []arr){ int brr[]=new int[arr.length]+1; System.arraycopy(arr,0,brr,0,arr,length); return brr;} arr=grow(arr);
9.System.arraycopy比Arrays.copyOf()运行效率高,但Arrays.copyOf()更方便
二维数组的定义,遍历,拷贝
数组的数组—二维数组的每一个元素是一个一维数组
1.二维数组的定义:
int[][] arr = new int[3][5]; //定义了一个整型的二维数组,其中包含3个一维数组,每个一维数组可以存储5个整数。 int[][] arr = new int[3][]; //表示一个包含了三个整型的一维数组的二维数组。 int[][] arr = { {2,5},{1},{3,2,4},{1,7,5,9}}; //注意:[]在变量名前的时候,是紧跟数据类型的;如果[]在后,则是属于当前变量名。
2.二维数组的拷贝:
(1)
for(int i=0;i<arr.length;i++) for(int j=0;j<arr[i].length;j++) brr[i][j]=arr[i][j];
(2)
int [][]brr=Arrays.copyOf(arr,arr.length); //浅拷贝,brr使用的仍是同一块数据,地址一样。 for(int i=0;i<arr.length;i++) brr[i]=Arrays.copyOf(arr[i],arr[i].length);
3.二维数组的遍历:
int [][]b={ {2,2},{3,2}}; for(int i=0;i<b.length;i++) for(int j=0;j<b[0].length;j++) System.out.print(b[i][j]+" ");
4.arr.length:有几行,即几个一维数组
arr[0].length:有几列,即每个一维数组有几位
5, 将string转化为char数组:
String str="abcde";char[] c=new char[str.length()];c=str.toCharArray();
6.next()以空格,回车,tab等结束字符串,nextline只以回车
7.split(“*”):以**分割字符串
String []arr=str.split(" ");
发表评论
最新留言
关于作者
