1、 请描述你理解的对象数组
对象数组是一种由多个对象组成的数组,每个元素都是一个对象。在Java中,对象数组可以用来存储同一类型的对象,这些对象可以是预定义的类对象,也可以是自定义的类对象。
2、请描述数组的扩容机制
扩容其实就是定义一个空间程度更大的数组, 然后把原来数组的元素复制到大的数组中, 最后让原来的数组名指向这个大的数组(地址的赋值)。
3、请描述基本类型数组元素的删除过程
先建立一个新的数组,数组长度为旧数组减去要删除的元素个数,然后根据if条件判断,把旧数组中剩余的元素复制到新数组中。然后把新数组地址给旧数组。
4、请描述你理解的动态数组
动态数组是一种通过自动扩容机制来实现动态增删操作的数据结构。动态数组的实现方式通常是基于数组。
动态数组可以根据实际需求动态地调整数组的大小,以避免数组溢出或频繁的数组复制操作。
声明格式:数据类型[] 数组名字 = new 数据类型[数组长度];
5、数组有没有length()这个方法? String有没有length()这个方法
数组没有,有length属性。String有length()方法,用于返回字符串的长度。
6、请描述冒泡排序的思想
从数组的第一个元素开始,比较相邻的两个元素,如果前一个元素比后一个元素大,则交换它们的位置。
继续遍历数组,重复执行上述比较和交换的操作,直到遍历到最后一个元素。
重复执行第1步和第2步,但是在每次遍历时都将待排序的元素个数减1,因为每次遍历都会将最大的元素移动到数组的末尾。
当待排序的元素个数为1时,排序完成。
7、请描述数组的初始化方式
静态初始化,在定义数组时直接指定初始化值,int [] arr = {1,2,3,4,5}
动态初始化,在定义数组时只指定长度,而不指定具体的初始化值,int[] ints = new int[5];
8、请描述数组中可能会出现的异常
- 数组下标越界异常(ArrayIndexOutOfBoundsException):当尝试访问一个不存在的数组元素或数组下标超出了数组范围时,就会抛出数组下标越界异常。
- 空指针异常(NullPointerException):当尝试访问一个空数组或对数组进行null引用操作时,就会抛出空指针异常。
- 数组类型不匹配异常(ArrayStoreException):当尝试将一个类型不兼容的值存储到数组中时,就会抛出数组类型不匹配异常。
标签:初始化,Java,对象,元素,十二,笔记,length,数组,动态 From: https://www.cnblogs.com/wgh123/p/17403049.html