只是记住方法是干什么的,但是对具体方法的理解还是不够
查找方法 当所查找的不存在的时候 返回值应该是 return -(low + 1);
 
一直知道toString 是转换成为字符串  但是具体的方法转换并不是很清楚
其中toStirng方法运用了append 和StringBuilder
 
binarySearch
int[] arr={11,22,55,66,88};
a = arr;
fronIndex = 0;
toIndex = 5;
key = 99;
key = 99;
[11,22,55,66,88];   
private static int binarySearch0(int[] a, int fromIndex, int toIndex, int key) {
        int low = fromIndex; // 0
        int high = toIndex - 1; // 4
        while (low <= high) {  //
            int mid = (low + high) >>> 1; // 2 , 3 ,4
            int midVal = a[mid]; //55 , 66 ,88
            if (midVal < key)
                low = mid + 1;//3 , 4, 5
            else if (midVal > key)
                high = mid - 1;
            else
                return mid; // key found
        }
        return -(low + 1);  // key not found.
    }
   
toString
int[] arr = {1,2,3,4,5};
public static String toString(int[] a) {
//a = arr
        if (a == null)  //判断数组对象是都为空
            return "null";
        int iMax = a.length - 1; //4
        if (iMax == -1)  //这个说明数组存在,但是没有元素
            return "[]";
           
  //StringBuilder的好处:线程不安全,但是效率高
        StringBuilder b = new StringBuilder();
       b.append('['); //  "["
        for (int i = 0; ; i++) {  //判断条件没有写的话,表示这个循环永远为true
            b.append(a[i]); //"[1"  , //"[1, 2"
            if (i == iMax){ //i = 0, imax = 4
                return b.append(']').toString(); "[1, 2, 3, 4, 5]".toString();
            }   
            b.append(", "); //"[1, "   , "[1, 2, "
        }
    }
可能这次写的不太多但是从各种方法的原代码和方法的重写  其实都是可以通过简单的代码一步步实现的
掌握熟练基础才是真正的关键 
 
 
个人观点 

Arrays中toString 和 binarySearch 的原代码的更多相关文章

  1. UWP开发之Template10实践:本地文件与照相机文件操作的MVVM实例(图文付原代码)

    前面[UWP开发之Mvvmlight实践五:SuspensionManager中断挂起以及复原处理]章节已经提到过Template10,为了认识MvvmLight的区别特做了此实例. 原代码地址:ht ...

  2. C#开发中使用Npoi操作excel实例代码

    C#开发中使用Npoi操作excel实例代码 出处:西西整理 作者:西西 日期:2012/11/16 9:35:50 [大 中 小] 评论: 0 | 我要发表看法 Npoi 是什么? 1.整个Exce ...

  3. 由Java中toString()方法引发的无意识的递归想到的

    先看一段很简单的java代码: toString()/** * @author jeffwong */ public class InfiniteRecursion { public String t ...

  4. C#和Java中执行SQL文件脚本的代码(非常有用)

    原文:C#和Java中执行SQL文件脚本的代码(非常有用) 我们在做程序的时候有事后会涉及到利用sql文件 直接执行,可是在sql文件中有很多注释,我们要一句一句的执行首先必须的得把sql文件解析 去 ...

  5. 记录下项目中常用到的JavaScript/JQuery代码二(大量实例)

    记录下项目中常用到的JavaScript/JQuery代码一(大量实例) 1.input输入框监听变化 <input type="text" style="widt ...

  6. php课程 1-3 web项目中php、html、js代码的执行顺序是怎样的(详解)

    php课程 1-3 web项目中php.html.js代码的执行顺序是怎样的(详解) 一.总结 一句话总结:b/s结构 总是先执行服务器端的先.js是客户端脚本 ,是最后执行的.所以肯定是php先执行 ...

  7. [Java] java.util.Arrays 中使用的 sort 采用的算法 (转)

    http://book.douban.com/annotation/15154366/Q: java.util.Arrays 中使用的 sort 采用的是什么算法?   A: java中Arrays. ...

  8. 2.C#中通过委托Func消除重复代码

    阅读目录   一:重复的代码 二:C#中通过委托Func消除重复代码 一:重复代码    public class Persion { public string Name { get; set; } ...

  9. .NET(C#)中不同级别的安全透明代码对类型的影响

    测试代码将测试一个方法和类默认在全部信任权限下和部分信任权限下的代码类型. 上面说的默认就是指未加入其他安全透明类型的特性. 代码类型可以是: 透明代码(Transparent Code) 关键代码( ...

随机推荐

  1. python如何支持并发?

    由于GIL(Global Interpreter Lock)的存在使得在同一时刻Python进程只能使用CPU的一个核心,也就是对应操作系统的一个 内核线程,对于一个Python web程序,如果有个 ...

  2. 随机生成姓名&批量生成不重名

    # -*- coding: utf-8 -*- """ Created on Thu Jul 23 14:43:07 2020 @author: Administrato ...

  3. Linux阶段总结

    Linux总结 一.学习心得: 在学习本阶段关于Linux阶段的课程时,让我对Linux有了一个大概的了解. 我了解到Linux操作系统是基于最初的Unix系统而开发出来的: 在学习Linux的时候, ...

  4. Android Zero (开篇)

    Android Zero == 从零开始 本文章主要打算给将要入门Android或刚刚入门Android的小伙伴适用的,开篇的几个案例都会抛弃所有现在用到的新技术和第三方框架,用最原生的方法从0演示, ...

  5. 高度塌陷与BFC

    高度塌陷的产生条件 子元素浮动,脱离文档流 子元素绝对定位或固定定位,脱离文档流 定位产生的高度塌陷只能通过加固定高度或更换其他方案解决塌陷,本文主要讨论浮动产生塌陷的解决方法. 高度塌陷的解决方法 ...

  6. Upload 上传 el-upload 上传配置请求头为Content-Type: "multipart/form-data"

    api接口处添加属性 (标红处) // 校验台账 export const checkEquiment = (data) => { return axios({ url: '/job/equip ...

  7. 美团Leaf——全局序列生成器

    Leaf的Github地址: https://github.com/Meituan-Dianping/Leaf Leaf美团技术团队博客地址: https://tech.meituan.com/201 ...

  8. PHP hex2bin() 函数

    实例 把十六进制值转换为 ASCII 字符: <?phpecho hex2bin("48656c6c6f20576f726c6421");?> 以上实例输出结果: He ...

  9. Core下简易WebApi

    代码很粗糙~ 粘贴github地址 https://github.com/htrlq/MiniAspNetCoreMini demo public class Startup { public Sta ...

  10. phpredis 扩展之操作 Redis,记下来记下来!

    phpredis 是 redis 的 php 的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系很有用 $redis = new Redis(); $redis->connect ...