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 类型相同的一个新数组
  • 相关阅读:
    模拟信号的优缺点分析
    PLC控制网关的功能介绍及应用领域
    LoRa无线数传终端的优势
    串口服务器厂家哪家好
    串口转以太网转换器的工作模式
    一个能手机控制水泵的无线远程开关控制器
    以太网IO模块是什么
    支持MQTT的模块有哪些
    常用正交表
    Spring Boot源码(五)以HttpEncodingAutoConfiguration【Http 编码自动配置】为例解释自动配置原理
  • 原文地址:https://www.cnblogs.com/code-duck/p/13226837.html
Copyright © 2011-2022 走看看