您现在的位置是:首页 > 正文

Arrays类

2024-04-01 01:18:10阅读 4

Arrays类

● java.util.Arrays类

● 用于操作数组工具类,里面定义了常见操作数组的静态方法。

equals 方法

● 比较两个非同一数组是否相等,而数组本身的equals判断另一个数

组是否它本身。

● 声明:public static boolean equals(type[]a,type[]a2)

● 参数的类型可以是原生数据类型和引用类型的任意一种类型。

● 返回:如果两个相等,则返回true,否则返回false

Arrays.equals(a,b);比较的是两个数组中的内容是否相等。

sort -排序

● 作用于数组的所有元素

public static void sort(type[] a)

● 作用于数组指定范围内的元素

public static void sort(type[] a, int fromIndex(包括), int toIndex(不包括)) 将指定的类型(除boolean以外的任意原生数据类型)数组所有元素(或指定范 围内的元素)按数字升序进行排序。

object型数组,根据元素的自然顺序,对指定对象数组进行升序排序。

(fromIndex==toIndex,则排序范围为空)

• 自定义对象排序

自定义类实现Comparable接口

重写compareTo方法

 

binarySearch -使用二分搜索算法搜索指定数组

● 声明:

public static int binarySearch(type[] a, type key)

public static int binarySearch(long[] a,int fromIndex,int toIndex,long key)

● 描述:

使用二分搜索算法搜索指定的type型数组,以获得指定的值。

● 参数:

a - 要搜索的数组。

key - 要搜索的值。

fromIndex - 要排序的第一个元素的索引(包括)。

toIndex - 要排序的最后一个元素的索引(不包括)。

type -byte、double、float、object、long、int、short、char

● 如果key在数组中,则返回搜索值的索引;否则返回-1或者”-“(插入点)

二分查找法(折半查找) 前提:数组是有序的

mid=(low+high)/2,从mid开始查找,与mid比较,比mid小的从左边找,比mid大的从右边找

public static void main(String[] args){
    int [] a = {8,2,7,4,5,6,3,1,9};//无序数组
    System.out.println(Arrays.binarySearch(a,3));//返回负数表示没有找到
}
​
​
运行结果 :  -3
public static void main(String[] args){
    int [] a = {8,2,7,4,5,6,3,1,9};//无序数组
    Arrays.sort(a);//对数组进行排序
    System.out.println(Arrays.binarySearch(a,3));
}
​
​
运行结果 :  2

数组拷贝

public static void main(String[] args){
    int [] a = {1,2,3,4,5};
    
    int [] b = Arrays.copyOf(a,10);
    System.out.println(Arrays.toString(b));
}
​
​
运行结果 :  [1,2,3,4,5,0,0,0,0,0]

数组赋值:传入原数组,新数组长度

返回一个新数组,并将原数组值复制到新数组中

toString() 方法

● 声明:public static String toString(type[] a)

● 描述:返回指定数组内容的字符串表示形式。

● 基本数组,字符串表示形式由数组的元素列表组成,括在[],相邻元素

用“, ”(逗号加空格)分隔。

网站文章

  • 带你领略 Kotlin 中的 “when”魔法

    提到 when,大家都会联想到 Java 中的 switch,然而在 kotlin 中,when 显然比 Java 中的 switch 要强大得多。首先,我们先来看看 when 的特点: 它可以作为表达式使用 使用更加安全 强大灵活的分支结构 可以不带参数 接下来,我来带大家逐步领略这些特点。以下面这段 Java 功能代码为例: switch(animal) { case EAGLE:...

    2024-04-01 01:18:01
  • MySQL进阶——存储引擎

    MySQL进阶——存储引擎

    (5) InnoDB被用在众多需要高性能的大型数据库站点上,InnoDB不创建目录,使用InnoDB时,MySQL将在MySQL数据目录下创建一个名为ibdata1的10MB大小的自动扩展数据文件,以...

    2024-04-01 01:17:36
  • 常用yum源 epel-release

    个人经验:epel 这个是很常用得东西,建议给系统装一下,比如 python3, zabbix 都需要用到 epel ,装epel 很easy,只需要执行下面一条命令即可:yum install -y epel-release...

    2024-04-01 01:17:29
  • java list 和数组区别_java list和数组的区别

    java list 和数组区别_java list和数组的区别

    展开全部List和ArrayList的区别在于:1、在编程语言中ArrayList类是.Net Framework提供的用于数据存储和检索的专用类。List 类可以简单视之为双向62616964757...

    2024-04-01 01:17:22
  • WPS批量设置及批量打印文档

    WPS批量设置及批量打印文档

    2024-04-01 01:16:58
  • Windows下jmap命令报错问题

    最近换了笔记本,新的工作环境下jmap命令居然在报错,而jps、jstat、jinfo、jstack都能正常使用,所以初步排除进程号的问题。Attaching to core 17536 from executable heap, please wait...Error attaching to core file: Windbg Error: OpenDumpFile fai...

    2024-04-01 01:16:50
  • 深入解析MySQL分区(Partition)功能

    深入解析MySQL分区(Partition)功能 转自:https://www.cnblogs.com/alamps/p/6740572.html 参考:https://blog.csdn.net/tjcyjd/article/details/11194489 第18章:分区 目录 18.1. MySQL中的分区概述 18.2. 分区类型 18.2.1. RANGE分区 18.2.2. ...

    2024-04-01 01:16:45
  • 938. Range Sum of BST(递归)

    package Recursion; public class RangeSumBST_938 { public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } int sum=0; public int rangeSumBST(T...

    2024-04-01 01:16:20
  • el-tree没有复选框时,选中、currentNodeKey高亮、定位、刷新后保留展开状态功能的实现

    el-tree没有复选框时,选中、currentNodeKey高亮、定位、刷新后保留展开状态功能的实现

    使用无选择框的el-tree时,当点击某行数据的时候会有背景色,但是当鼠标点击别处时,便失去焦点,背景色随之消失了。el-tree没有复选框时,选中、高亮、定位、刷新后保留展开状态功能的实vue2+e...

    2024-04-01 01:16:14
  • 阿里云服务器环境搭建

    阿里云服务器环境搭建

    阿里云轻量级应用云服务器部署 服务器的开发环境是需要部署的需要提前准备好linux系统的Tomcat以及jdk,还有服务器终端工具Xshell和远程传输工具WinSCP 购买服务器阿里云云翼计划服务器:https://promotion.aliyun.com/ntms/act/campus2018.html?spm=5176.8112568.420890.3.67c29ed5QikJJO ...

    2024-04-01 01:16:07