数组

作者: RicherYY | 来源:发表于2020-08-07 22:23 被阅读0次

    1. 数组概念

    数组就是一种数据结构,用来存储同一数据类型的集合,通过整形的下标来访问数组中的元素。

    2. 数组定义

    利用“数据类型+[]+变量”的方式用来声明数组,并没有进行初始化

    int[] a;
    

    3. 数组初始化

    数组的初始化有三种方式

    1. 用new运算符直接输入数组长度
    int[] a  = new int[100]; 
    
    1. 直接在数组中添加元素
    int[] a = {1,2,3};
    
    1. 用new运算符同事添加元素
    int[] a = new int[]{1,2,3} 
    

    通过for循环来给数组赋值

    int[] a = new int[100];
    for(i = 0; i < 100; i++){
        a[i] = i;
    }
    

    数组注意点

    • 数组下标默认开始指为0
    • 创建数组的各种类型的初始值
      • 整形-->0
      • boolean-->false
      • Object-->null
    • 数组长度可以利用 变量名.length 来取得,例如:
    for (int = 0; i < a.length; i++ ){
        System.out.println(i);
    }
    
    • 一旦创建数组是不能改变长度
    • 可以通过输入下标来访问数组中存储的元素
    int[] a = {1,2,3};
    System.out.println(a[0]);// 1
    

    4. for each

    增强for循环 foreach循环,可以用来依次处理数组中每个元素不必在乎指定的下标。

    表现形式为:

    for(variable : collection) statement

    定义一个变量用于暂存集合中的每一个元素,并执行相应的语句。

    collection 必须是一个数组或者是实现了Iterable接口的类对象

    for (数据类型 element:要循环的集合) {
        System.out.println(element);
    }
    
    public static void main (String[] args){
            int[] array ={1,2,3}; 
            for (int a : array){
                System.out.println(a);
            }
        }
    

    传统for循环也可以实现这一个效果

    for (int i = 0; i < a.length;i++){
        System.out.println(a[i]);
    }
    

    显然foreach更加不容易出错,不必为下标而操心。

    5. 数组拷贝

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

    int[] a = new int[]{2,3,5,7,11,12};
    int[] b = a;
    System.out.println(b[5]);// 12
    

    可以使用Arrays里面的copyOf方法来拷贝数组

    int[] a = new int[]{2,3,5,7,11,12};
    int[] b = Arrays.copyOf(a,a.length);
    System.out.println(b[5]);//12
    

    copyOf 方法第一个参数是要拷贝的数组,第二个参数是数组长度,一般都是==数组扩容==的时候用。

    int[] b = Arrays.copyOf(a,2 * a.length);
    

    数组排序

    //todo有时间再来填坑

    相关文章

      网友评论

          本文标题:数组

          本文链接:https://www.haomeiwen.com/subject/kgqzrktx.html