前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第三阶段-Java常见对象:【第五章 Arrays类】

第三阶段-Java常见对象:【第五章 Arrays类】

作者头像
BWH_Steven
发布2019-08-09 15:50:52
2760
发布2019-08-09 15:50:52
举报
文章被收录于专栏:理想二旬不止理想二旬不止

(一)

Arrays类

Arrays:针对数组进行操作的工具类,比如排序和查找

常用方法:

代码语言:javascript
复制
  //把数组转成字符串
  public static String toString(int[] a)
  
  //对数组排序(快速排序法)
  public static void sort(int[] a)
      
  //二分查找
  public static int binarySearch(int[] a, int key )
代码语言:javascript
复制
  import java.util.Arrays;
  
  public class ArraysDemo {
      public static void main(String[] args) {
          int[] arr = {20, 55, 33, 2, 7};
          System.out.println("排序前:" + Arrays.toString(arr));
          Arrays.sort(arr);
          System.out.println("排序后:" + Arrays.toString(arr));
          System.out.println("二分查找:" + Arrays.binarySearch(arr,key));
      }
  }

二分查找

代码语言:javascript
复制
  /*
  * 查找:
  *      基本查找:数组元素无序(从头找到尾)
  *      二分查找:数组元素有序
  * 分析:
  *      A:定义最大索引,最小索引
  *      B:计算出中间索引
  *      C:拿中间索引的值和要查找的值做比较
  *          相等:就返回当前的中间索引
  *          不相等:
  *                中间值大 ———— 左边找
  *                中间值小 ———— 右边找
  *      D:重新计算出中间索引
  *                 中间值大 ———— 左边找
  *                               max = mid - 1
  *                 中间值小 ———— 右边找
  *                               min = mid + 1
  *      B:回到 B
  */
  
  public class binarySearch {
      public static int getIndex(int[] arr, int value) {
  //定义最大索引,最小索引
          int max = arr.length - 1;
          int min = 0;
  
  //计算中间索引
          int mid = (max + min) / 2;
  
  //拿中间的索引值和要查找的值进行比较
          while (arr[mid] != value) {
              if (arr[mid] > value) {
                  max = mid - 1;
              } else if (arr[mid] < value) {
                  min = mid + 1;
              }
  
              if (min > max) {
                  return -1;
              }
  
              mid = (max + min) / 2;
          }
          return mid;
      }
  }
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 理想二旬不止 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 常用方法:
  • 二分查找
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档