java-数组
来源:互联网 发布:mac 百度网盘 知乎 编辑:程序博客网 时间:2024/06/08 13:11
1.一维数组的三种书写方式
int[ ] array1 = new int[3];
int[ ] array2 = new int[ ]{1,2,3};
int[ ] array3 = {1,2,3};
2. 二维数组的三种书写方式
int[][] array4 = new int[3][4];int[][] array5 = new int[][]{{1,2,3,4},{2,3,4},{4,5,6}};
int[][] array6 = new int[3][];//array6为交错数组array6[0] = new int[]{1,2,3,4};array6[1] = new int[]{2,3,4};array6[2] = new int[]{4,5,6};
3. 拷贝函数(拷贝数组和原数组地址不同,拷贝函数创建新的对象)
(1)深度拷贝:可以将对象的值和对象的内容拷贝
(2)浅度拷贝:浅拷贝是指对对象引用的拷贝
(3)三种拷贝方式:1)克隆方法: int[ ] array2 = array1.clone(); //将array1数组拷贝到array2数组中
2)类库Arrays: int array3 = Arrays.copyof(array1,array1.length); //Arrays.copyof的参数分别为array1数组、array1数组的长度
** 3)System.arraycopy: System.arraycopy(array1, 0, array3, 0, length); //从array1的第0个元素往array3的第0个元素拷,拷length个长度
//运行在本地操作系统上,效率高,大数据时用此方法
//拷贝一维数组int[] array7 = array3.clone();int[] array8 = Arrays.Copyof(array3,array3.length);int[] array9 = new int[array3.length];System.arraycopy(array3,0,array9,0,array3.length); //从前往后拷
//用一个一维数组clone一个二维数组int[][] array10 = new int[][]{};for(int i=0;i<array3.length;i++){ array10 = array3[i].clone();}
4. 打印数组元素
(1)用for循环做打印,for(int i=0;i<array1.length;++i)
(2)用foreach做打印,foreach:for(val:array1) //一维数组
//foreach遍历二维数组for(int[] data : array5){ for(int val : data){ System.out.print(val + " "); } System.out.println();}
(3)打印一维数组:System.out.println(Arrays.toString(array1));
打印二维数组:System.out.println(Arrays.deepToString(array1));
//一维/二维数组元素打印Arrays.sort(array3); //排序System.out.println(Arrays.toString(array3)); //打印Arrays.binarySearch(array3,value); //返回array3排序后value所在的下标Arrays.fill(array3,-1); //全部初始化为-1System.out.println(Arrays.deepToString(array5));
5. java里的类库
Arrays:数组的算法类库
int[] array1 = new int[5]; //自动用0填充 Arrays.fill(array1,100); //快速填充,填充到100 for(int i=0;i<array1.length;++i){ System.out.println(array1[i] + " "); } int[] array2 = new int[]{1,2,3,4,5}; int[] array3 = {1,2,3,4,5};int[] array4 = {1,2,3,4,5}; System.out.println(array3 == array4); //比较地址 System.out.println(Arrays.equals(array3,array4)); //比较数组的值 System.out.println(Arrays.toString(array3)); //打印数组元素Arrays.sort(array2); //排序,默认由小到大 System.out.println(Arrays.toString(array2)); int index = Arrays.binarySeach(array2,12); //查找 System.out.println("12 index is" + index); Arrays.sort(array3); //排序 System.out.println(Arrays.toString(array3)); //打印 Arrays.binarySearch(array3,value); //返回排序后value所在的下标 Arrays.fill(array3,-1); //全部初始化为-1
6. 可变参函数:将参数处理为数组
public static int sum(int... args){ return 0; }
public static int sum(int... args){ int sum = 0;for(int i=0;i<args.length;i++){sum += args[i];}return sum; }public static void main(String[] args){ System.out.println(sum(1,2));System.out.println(sum(1,2,3)); }
阅读全文
1 0
- java数组添加数组
- java数组添加数组
- Java数组-二维数组
- 【Java】数组--二维数组
- java-数组/二维数组
- Java数组、遍历数组
- java数组
- JAVA数组
- JAVA数组
- JAVA数组
- Java数组
- Java数组
- java数组
- java数组
- java数组
- Java--数组
- Java数组
- java 数组
- 卢卡斯定理 洛谷p3807
- 新智造对话硅谷VC张璐:做人民币基金暂时对我没有帮助
- 云知声谢冠超:智能音箱是个伪命题
- ZOJ1166
- SpaceX猎鹰9号首次执行军事任务,为美国国防部发射了一颗神秘的间谍卫星
- java-数组
- HTML的基本元素
- 点击画布出现彩色光圈
- Android自定义捕获Application全局异常
- 超级计算机如何用于人工智能?
- Spring实战学习笔记
- 腾讯市值超3000亿美元,近百度5倍
- redis 开启远程访问
- Fizz Buzz(leetcode)