zoukankan      html  css  js  c++  java
  • Java 数组

    数组:一个固定大小的线性序列容器,可以存放基本类型和引用类型。

    数组基本常识:

    1.获取数组长度的字段arr.length;注意length是字段不是方法!

    2.数组中,基本类型储存值,引用类型储存对象的引用;

    3.数组的标识符也是一个引用,其指向堆中的数组对象;

    4.数组索引从0开始;

    一维数组:

    使用数组的引用前必须初始化数组,数组默认初始化的值:引用->null,数值类型->0,boolean->false,字符型(char)->空字符(char)0;

    1.int [] array = {2,3,45,};聚集化初始,隐式的在堆中创建;

    2.int [] array = new int[3]; 然后再依次赋值;

    3.int [] array = new int[]{2,3,45};

    4.int [] array = array1;

    二维数组:

    int [][]array = new int[a][b]; 可以看做一个数组A中包含a个B数组,B数组的长度为b.其中a必须指定,b可以不指定;

    array[i]代表第i-1个B数组的引用,array[i][j]代表第i-1个B数组索引为j的值 ;

    数组工具类:Arrays

     有几个很方便的方法

    1.Arrays.fill();用同一个值填充数组

    int []array = new int[10];

    Arrays.fill(array,2);

    Arrays.fill(array,3,5,1);将索引为3到索引为5之间的值填充为1;[3,5)

    2.Arrays.equals(); 用于两个数组的比较,返回true或false

    Arrays.equals(array1,array2);

    3.Arrays.sort();用于对数组排序,如果数组元素对应类没有实现comparable接口就按照默认自然顺序排序;另外也可以提供一个comparator子对象作为参数用来指定顺序;

    ——实现comparable接口需要实现compareTo(Object obj)方法,如果当前对象小于参数则返回-1,若相等返回0,否则返回1;

    ——提供comparator对象需要新建一个类实现comparator接口并重写compare方法,当然也可以利用内部类实现;(偷懒的话可以用collections的reverseOrder()方法返回一个反自然顺序的comparator对象)

    ——对字符串数组排序时默认自然顺序先大写再小写,可以通过添加参数String.CASE_INSENSITIVE_ORDER来忽略大小写;

    4.Arrays.binarySearch(); 在排序后的数组中搜索指定目标;

    该函数返回值有两个:

    i >= 0:表示找到了目标,并且返回值表示该值的下标为i;

    i < 0:表示没找到目标,返回值表示若要保持数组的排序方式该目标应该插入位置的下标,下标的计算公式:-(i+ 1);

    如果对对象数组排序时使用了comparator,那么查找时必须提供相同的comparator;

  • 相关阅读:
    mac 切换 默认xcode 版本
    mac 查看jenkins 管理员密码地址
    解决 mac ox 终端显示bogon 的问题
    eclipse 修改默认作者信息
    mac 查看 本地网络代理
    appium 解决 启动case 时不 重装 setting 和 unlock.apk的解决方案实践
    appium 输入时间慢的解决方案
    命令 关闭 appium 命令
    解决 appium could not start ios-webkit-debug-proxy
    PPT总结
  • 原文地址:https://www.cnblogs.com/xiao-ji-xiang/p/9760228.html
Copyright © 2011-2022 走看看