zoukankan      html  css  js  c++  java
  • Java核心技术 卷一 笔记三 大数值及数组

    BigInteger类实现了任意精度的整数运算

    BigDecimal类实现了任意精度的浮点数运算

    使用静态的valueOf方法可以将普通的数值转换为大数值

    Java提供不同的数组类 不同类中的方法同样不同

    1. Array

      Array和[]的关系就如int 和Integer, boolean 和Boolean. 它的构造函数是私有的,赋值提供静态的诸如 setInt(Object arr, int index, int i)  setFloat(Object arr, int index, float f)  set(Object arr, int index, Object value)之类的方法, 取值提供静态的 getInt(Object arr, int index)   get(Object arr, int index) 之类 的方法. 在JDK1.6的源码中, 这些方法都是由本地代码实现。由于没有找到本地代码,不能深入的学习, 查看android4.2的源码,这些方法并没有用本地代码实现,直接根据实际的类型,分配数组。

    2. Arrays

      Arrays主要提供toString(), 排序, 二分查找, copyOf()等方法. 同样构造方法是私有的, toString() 排序 查找和 copyOf()等方法也是静态的,其中对于乱序的基本类型数据用到的是双枢纽快速排序算法(DualPivotQuicksort),对于乱序的Object[] 用的是归并排序(不过,注释中指出归并排序是历史遗留问题,将来的发行版会删去。下一篇,我想对常用的排序算法做个笔记)。copyOf()会分配临时数组,最终会调用System.arraycopy()来完成数组元素的拷贝。

    例如数组的排序就应该使用Arrays类 配合类中的sort方法实现排序

    Arrays.sort(数组名);

    for(int r:数组名) 

     system.out .print(r);

  • 相关阅读:
    我的2007, 兼谈些对技术的看法
    回帖整理: 关于"学习Java社区"更清晰的思路
    回帖整理: 创业心态
    我的世界观 by 爱因斯坦
    回帖整理: 论团队中的设计工作
    请大家帮我一个忙
    回帖整理: Java社区有什么可学的?
    SSL原理及应用(1)SSL协议体系结构
    文件和目录的访问控制(4) 审核规则
    强名称(2)引用强名称签名的程序集
  • 原文地址:https://www.cnblogs.com/zeross/p/6622680.html
Copyright © 2011-2022 走看看