Java数组工具类Arrays-18-常用方法介绍

标签: Java Arrays类方法
19人阅读 评论(0) 收藏 举报
分类:

       前面我们学习了冒泡和选择排序以及二分查找,还有数组如何转换成字符串,其实接下来学习的这个Arrays类都提供了解决这些问题的方法。Arrays类是一个数组工具类,就像String类是处理字符串的工具类一样,Arrarys就是为解决数组相关操作而设计的一个工具类。下面介绍三个常用的Arrays类下方法,分别是转字符串输出,排序和二分查找。

 

1.数组转换成字符串

       前面几篇文章(冒泡排序之前),我们分别用了String类和StringBuffer类方法去实现把一个数组输出成一个字符串。例如int[] arr = {11,22,33,44} 输出后变成 [11,22,33,44].前面我们写了好多行代码,这里使用Arrays.toString(),一行代码就搞定。

 

package arrays;
import java.util.Arrays;

public class Test_Arrays {

   public static void main(String[] args) {

      int[] arr = {23,56,79,24,80,13};

      // 使用toString方法输出数组

      System.out.println(Arrays.toString(arr));

   }
}

输出:[23, 56, 79, 24, 80, 13]

上面说明Arrays类重写了Object的toString方法,你在Eclipse上按下Ctrl,点击toString()方法,查看源码实现,发现和我们前面用数组写的方法是一样的。

 

2.排序

 

package arrays;

import java.util.Arrays;

public class Test_Arrays {

   public static void main(String[] args) {

      int[] arr = {23,56,79,24,80,13};
      // 使用sort进行排序
      Arrays.sort(arr);
      System.out.println(Arrays.toString(arr));
   }

}

输出:[13, 23, 24, 56, 79, 80]

点击sort()进入源码,发现是使用了快速排序的方法。

 

3.二分查找

 

package arrays;
import java.util.Arrays;

public class Test_Arrays {

   public static void main(String[] args) {

      int[] arr = {23,56,79,24,80,13};
      // 使用sort进行排序
      Arrays.sort(arr);
      // 二分查找
      System.out.println(Arrays.binarySearch(arr, 23));
      System.out.println(Arrays.binarySearch(arr, 56));
      System.out.println(Arrays.binarySearch(arr, 99));
 
   }
}

输出:

1

3

-7

 

      来看看为什么是输出-7,我们打开API,搜索找到Arrays类,然后找到binarySearch方法其中返回部门描述有这么一段话:如果它包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。插入点 被定义为将键插入数组的那一点:即第一个大于此键的元素索引,如果数组中的所有元素都小于指定的键,则为a.length。注意,这保证了当且仅当此键被找到时,返回的值将 >=0。

 

       什么是插入点呢?上面我们要查找99,而数组排序后最多值对应索引为5,代码认为99应该插入在索引5后面,也就是索引6,索引输出-6-1=-7. 你继续点击打开二分查找源码,发现和我们前面介绍的二分查找代码很类似。

 

 

查看评论

数组

本门课程是java基础课程之一,介绍数组的概念和使用。
  • 2017年01月30日 17:30

Java:数组工具类Arrays类的常用方法的用法及代码

Arrays类是JDK提供的专门用于操作数组的工具类,位于java.util包中。 用Arrays类的方法操作数组,无需自己编码。 Arrays类的常用方法: 1、boolean equals(ar...
  • xuehyunyu
  • xuehyunyu
  • 2017-08-04 22:16:33
  • 2495

Arrays工具类十大常用方法

翻译人员: 铁锚 翻译日期: 2013年11月19日 原文链接: Top 10 Methods for Java Arrays 以下是由 stackoverflow 网站 投票决出的...
  • renfufei
  • renfufei
  • 2013-11-19 19:43:31
  • 9959

Java常用工具类整理一

1.Java中计算两个时间的差
  • he90227
  • he90227
  • 2014-07-10 15:18:57
  • 1372

JAVA 工具类 项目开发常用方法

  • 2009年08月03日 23:48
  • 11KB
  • 下载

Java数组的常用方法

针对Java数组A[],Arrays类中提供了一些好用的快捷方法。 Arrays.sort(A);public static void sort(int[] a) public static void...
  • jimjayce
  • jimjayce
  • 2017-06-22 14:45:59
  • 84

Java对BigDecimal常用方法的归类

import java.math.BigDecimal;   public class Arith {   /**   * 由于Java的简单类型不能够精确的对浮点数进行运算,这个工...
  • u010979097
  • u010979097
  • 2015-05-15 15:02:11
  • 191

Java工具类---数组操作ArrayUtil

import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; im...
  • hj7jay
  • hj7jay
  • 2016-04-28 14:03:24
  • 3931

集合框架_Collections工具类的常见方法讲解

package cn.itcast_01; import java.util.ArrayList; import java.util.Collections; import java.util.Li...
  • L1585931143
  • L1585931143
  • 2017-01-14 18:41:46
  • 350

[疯狂Java]数组:Arrays(数组工具类)

1. Arrays工具类简介:     1) 是Java提供的专门用来操作数组的工具类,里面有一大堆静态方法(算法)来操作数组,低位就相当于C++ STL的库,只不过Arrays里面全部都是操作数组的...
  • Lirx_Tech
  • Lirx_Tech
  • 2016-05-17 16:55:56
  • 3278
    个人资料
    持之以恒
    等级:
    访问量: 99万+
    积分: 1万+
    排名: 816
    自动化测试学习交流群
    欢迎各位测试和自动化测试的伙伴加入QQ群,群号是:756276708,互相学习和提高测试技术和代码能力。
    最新评论