zoukankan      html  css  js  c++  java
  • Java基础语法<六> 数组 Arrays

    笔记整理 来源于《Java核心技术卷 I 》 《Java编程思想》
     
    允许数组长度为0
    new element[0] 数组长度为0与null不同
     

    1. 数组拷贝

    允许将一个数组变量拷贝给另一个数组变量。这时,两个变量将引用同一个数组:
    int[] ele1 = ele2;
    ele1[5] = 12; //now ele2[5] is also 12
     
    如果希望将一个数组的所有值拷贝到一个新的数组中去,就要使用Arrays类的copyTo方法:
    int[] copiedele = Arrays.copyOf(ele1,ele1.length);
    第2个参数为数组的长度,通常用来增加数组的大小。

    2. 命令行参数

    每个java应用程序都有一个带String arg[]参数的main方法。这个参数表明main方法将接受一个字符串数组,也就是命令行参数。
     

    3. API

    java.util.Arrays 1.2

     
    static String toString(type[] a) 5.0
    返回包含a中数据元素的字符串,这些数据元素被放在括号内,并用逗号分隔。
    参数:a 类型为int、long、short、byte、boolean、float或double的数组
     
    static type copyOf(type[] a,int length)  6
    staitc type copyOf(type[] a,int start,int end)  6
    返回与a类型相同的一个数组,其长度为length或者start-end数组元素为a的值
    参数:a 类型为int、long、short、byte、boolean、float或double的数组
                 start 起始下标 包含这个值
                 end 终止下标 不包含这个值,这个值可能大于a.length,在这种情况下,结果为0或false。
                 length 拷贝的数据元素长度.如果length值大于a.length,结果为0或false;否则,数组中只有前面length个数据元素的拷贝值
     
    static void sort(type[] a)
    采用优化的快速排序算法对数组进行排序
    参数:a 类型为int、long、short、byte、boolean、float或double的数组
     
    static int binarySearch(type[] a,type v)
    static int binarySearch(type[] a,int start,int end,type v)  6
    采用二分搜索算法查找值v。如果查找成功,则返回相应的下标值,否则,返回一个负数值r。-r-l是为保持a为有序v应插入的位置。
    参数:  a 类型为int、long、short、byte、boolean、float或double的数组
                 start 起始下标(包含这个值)
                 end  终止下标(不包含这个值)
                 v 同a的数据元素类型相同的值
     
    static void fill(type[] a type v)
    将数组的所有数据元素值设置为v
    参数:a 类型为int、long、short、byte、boolean、float或double的数组
             v 同a的数据元素类型相同的值
     
    static boolean equals(type[] a type[] b)
    如果两个数组大小相同,并且下标相同的元素都对应相等,返回true
    参数 a,b类型为int、long、short、byte、boolean、float或double的数组
     

    4. 多维数组

    foreach 需要两个嵌套的循环
     
    快速打印
    System.out.println(Arrays.deepToString(a));
     

    5. 不规则数组

    Java实际上没有多维数组,多维数组被解释为 数组的数组。
  • 相关阅读:
    谷歌的 I/O 2019,究竟推出了什么新特性?
    Flutter交互实战-即刻App探索页下拉&拖拽效果
    5G到来,App的未来,是JavaScript,Flutter还是Native ?
    python爬虫-房天下-登录
    python爬虫-有道翻译-js加密破解
    虾米音乐爬虫
    Golang 读写文件
    Golang-使用md5对字符串进行加密
    Golang-使用mysql
    Golang 传递任意类型的切片
  • 原文地址:https://www.cnblogs.com/loveincode/p/7153182.html
Copyright © 2011-2022 走看看