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

    数组初始化与匿名数组

    数组的声明

    • 以下语句仅仅是声明变量a,并没有对a进行初始化成为真正的数组
    int[] a;
    int a [];
    

    初始化

    • 使用new运算符创建数组
    • 不使用new运算符
    // 使用new
    int[] a = new int [100];
    
    // 创建数组对象并同时赋予初始值
    int[] small = { 2, 3, 5, 7, 11, 13 };
    

    1、创建一个数字数组时,所有元素都初始化为0
    2、boolean 数组的元素会初始化为fals
    3、对象数组的元素则初始化为一个特殊值null,这表示这些元素还未存放任何对象
    4、一旦创建了数组, 就不能再改变它的大小,如果经常需要在运行过程中扩展数组的大小, 就应该使用另一种数据结构—数组列表(array list)

    匿名数组

    // 将创建一个新数组并利用括号中提供的值进行初始化,数组的大小就是初始值的个数
    new int[] { 17, 19, 23, 29, 31, 37 }
    // 这种语法形式可以在不创建新变量的情况下重新初始化一个数组(将上述的small数组进行 重新 初始化操作)
    int[] small = new int[] { 17, 19, 23, 29, 31, 37 }
    

    数组拷贝

    在Java 中, 允许将一个数组变量拷贝给另一个数组变量。这时, 两个变量将引用同一个数组

    int[] old = {90,80,70};
    int[] num = old;
    System.out.print(num[1]); // is 80
    

    如果希望将一个数组的所有值拷贝到一个新的数组中去,就要使用Arrays 类的copyOf方法

    int[] old = {90,80,70};
    
    // 参数2:指定新数组的长度
    int[] num = Arrays.copyOf(old, old.length);
    
    // 通常可以使用第二参数来扩充数组的大小
    int[] num1 = Arrays.copyOf(old, old.length * 2);
    

    PS: 如果数组元素是数值型,那么多余的元素将被赋值为0;如果数组元素是布尔型,则将赋值为false。相反,如果长度小于原始数组的长度则只拷贝最前面的数据元素

    数组排序

    方法 描述
    static void sort(type [] a) 采用优化的快速排序算法对数组进行排序
    static int binarySearch(type[]a, int start, int end, type v) 采用二分搜索算法查找值v。如果查找成功,则返回相应的下标值;否则,返回一个负数值
    static void fill(type[]a , type v) 将数组的所有数据元素值设置为V
    static boolean equals(type[]a, type[]b) 如果两个数组大小相同,并且下标相同的元素都对应相等,返回true
    static type copyOf(type[]a, int length) 返回与a 类型相同的一个新数组
  • 相关阅读:
    Vue 获取URL链接后面的参数值
    Vue 跳转到指定页面,返回到上一页
    Vant 插件
    Vue 返回上一页,记住上一页的数据
    vue pc端支付宝支付
    Spring 中的事务
    数据库中锁与事务
    《产品方法论》 读书笔记
    设计模式之装饰者模式
    设计模式之单例模式
  • 原文地址:https://www.cnblogs.com/code-duck/p/13226837.html
Copyright © 2011-2022 走看看