硕鼠爱知识

导航

 

数组

数组的定义

  • 数组是相同类型数据的有序集合
  • 每个数据称作一个数组元素,每个数组元素可以通过一个下标来访问

数组的声明创建

		//1.声明一个数组
        int[] nums; // 首选
        int nums2[];  //不建议
        //2.创建一个数组
        nums = new int[10];//这里可以存放10个int数字

        //3、给数组元素赋值
        nums[0] = 1;
        nums[1] = 2;
        nums[2] = 3;
        nums[3] = 4;
        nums[4] = 5;

        System.out.println(nums.length); // 10
        for (int i = 0; i < nums.length; i++) {
            System.out.println(nums[i]); // 1 2 3 4 5 0 0 0 0 0
        }

内存分析

java内存

    • 存放new的对象和数组
    • 可以被所有的线程共享,不会存放别的对象引用
    • 存放基本变量类型(会包含这个基本类型的具体数值)

    • 引用对象的变量(会存放这个引用在堆里面的具体地址)

  • 方法区

    • 可以被所有的线程共享
    • 包含了所有的class和static变量

数组的三种初始化

  • 静态初始化

    int[] a = {1,2,3};
    Man[] mans = {new Man(1,1),new Man(2,2)};
    
  • 动态初始化

    int[] a = new int[2];
    a[0] = 1;
    a[1] = 2;
    
  • 数组的默认初始化;

    数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被暗账实例变量同样的方式被隐式初始化。

数组的四个基本特点

  • 长度确定,一旦被创建,大小不可改变
  • 元素为相同类型
  • 数组中元素可以是任何数据类型,包括基本类型和引用类型
  • 数组变量属于引用类型,也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。

数组的使用

  • for-each循环
  • 普通的for循环
  • 数组作为方法的入参
  • 数组作为返回值

多维数组

......

Arrays 类

  • 数组的工具类java.util.Arrays

  • 数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而对数据对象进行一些基本操作。

  • 查看JDK帮助文档

  • Arrays类中的方法都是static修饰的静态方法,使用时可以直接用类名进行调用,而不用使用对象来调用(注意:是“不用”而不是“不能”)

常用功能:

  • 给数组赋值:fill方法
  • 对数组排序:sort方法
  • 比较数组:通过equals方法比较数组中元素值是否相等
  • 查找数组元素:通过binarySearch方法能对排序号的数组进行二分查找法操作。

冒泡排序

    //冒泡排序
    //1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置
    //2.每次比较,都会产生出一个最大或最小的数字
    //3.下一轮可以少一次排序
    //4.依次迅速安,直到结束!

稀疏数组

posted on 2020-12-22 09:57  硕鼠爱知识  阅读(70)  评论(0编辑  收藏  举报