当前位置: 首页 > java >正文

Java 常用的Arrays函数

文章目录

  • Arrays
    • sort
    • toString
    • binarySearch
    • equals
    • fill
  • 数组拷贝
    • copyOf
    • copyOfRange
    • arraycopy
  • 二维数组
    • 定义
    • 遍历
    • deepToString
    • 空指针异常

Arrays

sort

int[] array = new int[]{1,20,3};
Arrays.sort(array);// 1 3 20

toString

  1. 帮助数组转为字符串
int[] array = new int[]{1,2,3};
System.out.println(Arrays.toString(array));
// [1,2,3]

binarySearch

  1. 二分查找
int[] array = new int[]{1,2,3};
System.out.println(Arrays.binarySearch(array,2));
// 返回1下标
// 第一个参数,有序的数组array,要查找的key

equals

  1. 比较两个数组是否相同,长度,数据内容,相同数组,数组指针是否为空
  2. 返回值是boolean
int[] array = new int[]{1,2,3};
int[] array1 = new int[]{1,3,2};
System.out.println(Arrays.equals(array,array1));
// false

在这里插入图片描述

fill

  1. fill对数组进行填充
int[] array = new int[10];
Arrays.fill(array,0,3,9);// [0,3)区间填充
Arrays.fill(array,9);// 都填充为9
System.out.println(Arrays.toString(array));

数组拷贝

copyOf

  1. copyOf第一个参数是数组,第二个参数是数组的长度,返回值是一个数组
int[] array1 = new int[]{1,2,3};
int[] copy = Arrays.copyOf(array1,array1.length);
// 1 2 3 
// 可以当成扩容使用,剩余空间补零
int[] copy = Arrays.copyOf(array1,array1.length*2);
// 1 2 3 0 0 0

copyOfRange

  1. 进行数组范围的拷贝
int[] array1 = new int[]{1,2,3,4,5,6};
int[] copy = Arrays.copyOfRange(array1,0,3);
// 1 2 3

arraycopy

  1. 直接拷贝到copy数组中
int[] array1 = new int[]{1,2,3,4,5,6};
int[] copy = new int[array1.length];
System.out.println(array1,0,copy,0,array1.length);
System.out.println(Arrays.toString(copy));
// 1 2 3 4 5 6 

取传过去的数组长度(100)和原数组长度(10)的较小值,那就是10
在这里插入图片描述

二维数组

定义

int[][] array = new int[][]{{1,2,3},{4,5,6}};
int[][] array1 = {{1,2,3},{4,5,6}};
int[][] array2 = new int[2][3];

在这里插入图片描述
二维数组的每个元素都是一个一维数组
在这里插入图片描述
在这里插入图片描述

遍历

for(int i = 0;i < array.length;i++){for(int j = 0;j < array[i].length;j++){System.out.print(array[i][j] + " ");}System.out.println();}
System.out.println();for(int[] arr : array1){for(int x : arr){System.out.print(x + " ");}System.out.println();
}

deepToString

  1. 把二维数组打印成字符串
int[][] array1 = {{1,2,3},{4,5,6}};
System.out.println(Arrays.deepToString(array1));
// [[1, 2, 3], [4, 5, 6]]

空指针异常

  1. 不规则的二维数组
int[][] array3 = new int[2][];// 解决方法
array3[0] = new int[]{1,2};
array3[1] = new int[]{1,2,3};System.out.println(array3[0]);
System.out.println(array3[1]);for(int i = 0;i < array3.length;i++){for(int j = 0;j < array3[i].length;j++){System.out.print(array3[i][j] + " ");}System.out.println();
}

在这里插入图片描述
在这里插入图片描述
二维数组是特殊的一维数组
内存的存储机制是线性的,二维数组的每个元素又都是一个一维数组

在这里插入图片描述

http://www.xdnf.cn/news/6637.html

相关文章:

  • Mysql、Oracle、Sql Server、达梦之间sql的差异
  • 弦理论的额外维度指的是什么,宇宙中有何依据
  • 成功案例丨从草图到鞍座:用先进的发泡成型仿真技术变革鞍座制造
  • 【Python+flask+mysql】网易云数据可视化分析(全网首发)
  • yocto5.2开发任务手册-7 升级配方
  • 【编译原理】递归下降分析程序的构造
  • 排序算法之高效排序:快速排序,归并排序,堆排序详解
  • 实例分割AI数据标注 ISAT自动标注工具使用方法
  • 如何在win11上 运行arm虚拟机
  • labelimg安装及使用指南(yolo)
  • VR场景制作如何完成?
  • 图像处理:预览并绘制图像细节
  • 汽车二自由度系统模型以及电动助力转向系统模型
  • LearnOpenGL --- 你好三角形
  • Android native崩溃问题分析
  • Python基础:集合(Set)
  • Python字符串常用方法详解
  • Flink运维要点
  • C++(17):引用传参
  • 从关键字执行机制入手理解 Robot Framework 源码
  • 【Opencv】canny边缘检测提取中心坐标
  • 2025第三届盘古初赛(计算机部分)
  • 中天智能装备有限公司在柔性立库设备方面有哪些产品?
  • vue复杂数据类型多层嵌套的监听
  • Python之三大基本库——Matplotlib
  • 基于 React Hook 封装 Store 的三种方案
  • 嵌入式故障码管理系统设计实现
  • 问题 | 国内外软件定义卫星最新进展研究
  • MySQL 高可用
  • DevExpressWinForms-RichEditControl-基础应用