ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Arrays类

2021-12-20 21:01:20  阅读:91  来源: 互联网

标签:Arrays int static 数组 type public


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)

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

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

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

标签:Arrays,int,static,数组,type,public
来源: https://blog.csdn.net/NFY0424/article/details/122050178

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有