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

Java—Arrays api

public static String toString(数组)                         //把数组拼接成一个字符串
public static int binarySearch(数组,查找的元素)            //二分查找法查找元素
public static int[] copyOf(原数组,新数组长度)               //拷贝数组
public static int[] copyOfRange(原数组,起始索引,结束索引)   //拷贝数组(指定范围)
public static void fill(数组,需要填充的元素)                //填充数组
public static void sort(数组)                               //按照默认方式进行数组排序
public static void sort(数组,排序规则)                     //按照指定的规则排序

目录

binarySearch

copyOf

copyOfRange

sort


binarySearch

1. 二分查找的前提:数组中的元素必须是升序的;
2. 如果要查找的元素存在,则返回查找到的元素的索引;如果要查找的元素不存在,则返回 (-插入点)-1。

代码示例

int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
System.out.println(Arrays.binarySearch(arr, 6)); //5
System.out.println(Arrays.binarySearch(arr, 10));//9
System.out.println(Arrays.binarySearch(arr, 20));//-11

copyOf

参数一:旧数组
参数二:新数组的长度
方法的底层会根据第二个参数来创建新的数组,
如果新数组的长度 < 旧数组的长度,会部分拷贝;
如果新数组的长度 = 旧数组的长度,会完全拷贝;
如果新数组的长度 > 旧数组的长度,会补上默认初始值。

代码示例

public static void main(String[] args) throws ParseException {int[] arr = {1, 2, 3, 4, 5};int[] newArr1 = Arrays.copyOf(arr, 3);System.out.println(Arrays.toString(newArr1));// [1, 2, 3]int[] newArr2 = Arrays.copyOf(arr, 5);System.out.println(Arrays.toString(newArr2));// [1, 2, 3, 4, 5]int[] newArr3 = Arrays.copyOf(arr, 8);System.out.println(Arrays.toString(newArr3));// [1, 2, 3, 4, 5, 0, 0, 0]}

copyOfRange

注意:对于数据拷贝的范围包头不包围,包左不包右

代码示例

public static void main(String[] args) throws ParseException {int[] arr = {1, 2, 3, 4, 5};int[] newArr1 = Arrays.copyOfRange(arr, 0, 4);System.out.println(Arrays.toString(newArr1));// [1, 2, 3, 4]}

sort

public static void main(String[] args) throws ParseException {Integer[] arr = {5, 3, 4, 2, 1};Arrays.sort(arr);System.out.println(Arrays.toString(arr));// [1, 2, 3, 4, 5]Arrays.sort(arr,new Comparator<Integer>(){@Overridepublic int compare(Integer o1, Integer o2) {return o2-o1; //倒序排序//return o1-o2 正序排序(默认)}});System.out.println(Arrays.toString(arr));// [5, 4, 3, 2, 1]}

http://www.lryc.cn/news/429727.html

相关文章:

  • Java - 基数排序算法介绍、应用场景和示例代码
  • Django 后端架构开发:文件云存储,从本地存储到腾讯COS桶集成
  • 【系统分析师】-综合知识-计算机网络与信息安全
  • C++ | Leetcode C++题解之第363题矩形区域不超过K的最大数值和
  • python动画:场景的线性变换展示
  • HBase体系架构与环境搭建
  • 海思SD3403/SS928V100开发(16)Tsensor驱动开发
  • JVM类加载机制—JVM类加载过程
  • 可变参数模板与包装器
  • 工业控制常用“对象“数据类型汇总(数据结构篇)
  • 优雅处理枚举前端丢失大Long精度问题
  • 【c/c++】 学习ector 容器笔记
  • DN专业3D图形制作软件win/mac软件安装下载(附下载链接)
  • VSCode搭建Hzero(SpringCloud架构)后端开发调试环境
  • 【C++】OJ习题(初阶)
  • 6.4K+ Star!一个强大的本地知识库问答系统,支持多格式文件和跨语言检索,为企业提供高效、安全的数据洞察……
  • mvn编译的时候出现Perhaps you are running on a JRE rather than a JDK 解决方法
  • React原理之Fiber详解
  • 远离“优越感”陷阱,拥抱美好人生
  • Redis的线程模型
  • ubuntu24.04安装nginx1.24
  • 一款好看的WordPress REST API 主题
  • 《5G 与区块链融合:智能城市服务质量的飞跃》
  • 前后端分离开发:用 Apifox 高效管理 API
  • Go Channel 详解
  • 使用FModel提取游戏资产
  • Qt C++ 屏幕录制 保存mp4
  • Adobe After Effects的插件--------CC Cylinder
  • Vue3项目开发——新闻发布管理系统(一)
  • 前端调用后端,出现跨域报错怎么办