Java中Arrays类的常用方法

Arrays类位于 java.util 包中,主要包含了操作数组的各种方法。

    import java.util.Arrays;

Arrays.fill(); //填充数组

    int[] arr = new int[5];//新建一个大小为5的数组Arrays.fill(arr,4);//给所有值赋值4String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来System.out.print(str);//输出:[4, 4, 4, 4, 4]
 int[] arr = new int[5];//新建一个大小为5的数组Arrays.fill(arr, 2,4,6);//给第2位(0开始)到第4位(不包括)赋值6String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来System.out.print(str);//输出:[0, 0, 6, 6, 0]

Arrays.sort(); //数组排序

Arrays类有一个静态方法sort,利用这个方法可传入要排序的数组进去排序,因为传入的是一个数组的引用,所以排序完成的结果也通过这个引用来更改数组。

1.数字排序

    int[] intArray = new int[] { 4, 1, 3, -23 };Arrays.sort(intArray);//输出: [-23, 1, 3, 4]

2.字符串排序,先大写后小写

    String[] strArray = new String[] { “z”, “a”, “C” };Arrays.sort(strArray);//输出: [C, a, z]

3.严格按字母表顺序排序,也就是忽略大小写排序 Case-insensitive sort

    Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);//输出: [a, C, z]

4.反向排序, Reverse-order sort

    Arrays.sort(strArray, Collections.reverseOrder());//输出:[z, a, C]

5.忽略大小写反向排序 Case-insensitive reverse-order sort

    Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);Collections.reverse(Arrays.asList(strArray));//输出: [z, C, a]

6.选择数组指定位置进行排序

    int[] arr = {3,2,1,5,4};Arrays.sort(arr,0,3);//给第0位(0开始)到第3位(不包括)排序String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来System.out.print(str);//输出:[1, 2, 3, 5, 4]

Arrays.toString(); //将数组中的内容全部打印出来

    int[] arr = {3,2,1,5,4};System.out.print(arr);//直接将数组打印输出//输出:[I@7852e922 (数组的地址)String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来//System.out.print(str);//输出:[3, 2, 1, 5, 4]

Arrays.equals(); //比较数组元素是否相等

 int[] arr1 = {1,2,3};int[] arr2 = {1,2,3};System.out.println(Arrays.equals(arr1,arr2));//输出:true//如果是arr1.equals(arr2),则返回false,因为equals比较的是两个对象的地址,不是里面的数,而Arrays.equals重写了equals,所以,这里能比较元素是否相等。

Arrays.binarySearch(); //二分查找法找指定元素的索引值(下标)

数组一定是排好序的,否则会出错。找到元素,只会返回最后一个位置

 int[] arr = {10,20,30,40,50};System.out.println(Arrays.binarySearch(arr, 30));//输出:2 (下标索引值从0开始)
 int[] arr = {10,20,30,40,50};System.out.println(Arrays.binarySearch(arr, 36));//输出:-4 (找不到元素,返回-x,从-1开始数,如题,返回-4)
 int []arr = {10,20,30,40,50};System.out.println(Arrays.binarySearch(arr, 0,3,30));//输出:2 (从0到3位(不包括)找30,找到了,在第2位,返回2)
    int []arr = {10,20,30,40,50};System.out.println(Arrays.binarySearch(arr, 0,3,40));//输出:-4 (从0到3位(不包括)找40,找不到,从-1开始数,返回-4)

Arrays.copeOf() 和Arrays.copeOfRange(); //截取数组

 int[] arr = {10,20,30,40,50};int[] arr1 = Arrays.copyOf(arr, 3);String str = Arrays.toString(arr1); // Arrays类的toString()方法能将数组中的内容全部打印出来System.out.print(str);//输出:[10, 20, 30] (截取arr数组的3个元素赋值给新数组arr1)
 int []arr = {10,20,30,40,50};int []arr1 = Arrays.copyOfRange(arr,1,3);String str = Arrays.toString(arr1); // Arrays类的toString()方法能将数组中的内容全部打印出来System.out.print(str);//输出:[20, 30] (从第1位(0开始)截取到第3位(不包括))

Java中Arrays类的常用方法相关推荐

  1. java中立方根方法_java基础:4、java中Math类的常用方法?

    4.java中Math类的常用方法? Java的Math类封装了很多与数学有关的属性和方法.如下所示: System.out.println("计算平方根--Math.sqrt(81)--  ...

  2. java中Arrays类和Math类常用API简介

    Arrays类: java.util.Arrays是一个与数组相关的工具类,提供了许多静态方法对数组进行操作,直接通过类点出来使用,无需创建对象. // 1.Arrays类存在与java.util下, ...

  3. java中String类的常用方法总结

    String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...

  4. java 中String类的常用方法总结,玩转String类

    String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...

  5. JAVA中Calendar类的常用方法

    Calender类 java.util.Calendar类:日历类 Canlender类是一个抽象类,里面提供了很多操作日历字段的方法(YEAR.Months.day_OF_MNTH.HOUR) Ca ...

  6. Java中ArrayList类的常用方法

    ArrayList对象是可变数组,可以不设置长度.下面介绍一些常用方法.该对象是从0下标开始计算的.主要分成四个部分,增加元素,删除元素,修改元素,查找元素. 是有序的 目录 一.增加元素 二.删除元 ...

  7. Java中Vector类的常用方法

    Vector 可实现自动增长的对象数组. Vector构造的时候 1.如果不放入数字就是默认值10 2.放入一个数的时候,就是默认的大小,当超过这个数的范围的时候,按照原容量的二倍扩增,重新分配内存 ...

  8. java中string类的常用方法举例说明

    strbegin-字符串中要复制的第一个字符的索引 strend-字符串中要复制的最后一个字符之后的索引 char[]data-目标数组 offset-目标数据中的起始偏移量 void getChar ...

  9. Java中Arrays类中的数组操作方法详解

最新文章

  1. java基础 多维数组_java基础:3.2 多维数组
  2. 百度地图- - - 鹰眼轨迹- - - -实时定位
  3. 计算机无法显示移动硬盘,移动硬盘在我的电脑中不显示了 怎么处理?
  4. Qt Creator调试器故障排除
  5. SAP Spartacus 页面 cx-storefront 的填充逻辑
  6. 阿姆斯特朗数 matlab,数学实验报告
  7. 为什么你闻不到自己胳肢窝的味道?
  8. C# 实现 rtc_通过Xlua实现unity热更新的一个小例子
  9. 6日下午3h直播预告丨我们聊聊“数据库安全与智能运维”
  10. java的jtextarea_java中怎么在JTextArea中添加图片?
  11. upc 兔子与兔子(字符串Hash)
  12. 清华姚班出身,95后博士生从网瘾少年到发表顶会论文的科学家
  13. unity shader相关工具教程
  14. Rotation - 旋转
  15. open用法 vba_open方法读写文件
  16. html5音频文件生成波形图代码,使用wavesurfer.js显示mp3 audio音频的波形图
  17. 笔记本计算机的功率一般多少钱,笔记本功率一般是多少瓦
  18. 代码审计:审计思路之实例解说全文通读
  19. 微信支付『支付失败,如果已扣款,资金在0-3个工作日原路返回』踩坑案例及解决方案
  20. android隐藏系统ui_如何启用Android的“系统UI调谐器”以访问实验功能

热门文章

  1. iOS中在UIViewController中的UIButton被点击后展示Highlighted状态有延迟的解决办法
  2. 每天记录学习的新知识 :WebView介绍以及基本使用和方法
  3. 财务人员要不要学python_财会专业的学生,有必要学习Python吗?
  4. c语言怎么弄小数点,数码管小数点
  5. uniapp中NFC功能的实现
  6. 天天都是背背背,六大方法帮你提高记忆力!
  7. Java画图板的简单实现。(重绘,多边形,曲线画笔,画图片)
  8. ufs2.0测试软件,三星S8被爆混用UFS闪存 如何测试是UFS 2.0还是UFS 2.1?
  9. 博球一看,CSDN与你共观世界杯
  10. 2016双十二淘宝推出“二次元日”