一、数组
1、基本概念
数组是一种数据类型,可以存储多个值,而不仅仅是一个值。
1) 数组由很多元素构成。
2) 要访问某个元素,请指出其编号(索引)。
3) 所有元素都属于同一类型。
4) 所有元素的初始值都为 null;对于原始类型的数组,初始值为 0、0.0(对于小数)或 false(对于 boolean 值)。它与不在数组中的未初始化变量完全相同。
5) String[] list 仅声明一个变量。你需要先创建一个数组(容器),放入一些内容,然后才能使用它(请参见下面的示例)。
6) 创建数组(容器)对象时,需要指出其长度或元素数量。使用 new TypeName[n]; 执行此操作
2、数组在内存中是如何运作的 ?
什么是 345?
“只是一个随机数,但它表示包含单词‘Rain’的字符串的地址。
155、166、177 – 这些数字也是随机的。它们也表示右侧这些字符串的地址
3、数组的基本操作:
Course Java 语法 - Lecture: 针对数组的基本操作
二、ArrayList 类
1、基本介绍
背景:程序员唯一不喜欢数组的地方就是无法更改它们的大小。如果你需要向只有一个空闲插槽的数组中再添加三个元素,该怎么办?
ArrayList 类,其功能与 Array 相同,但可以更改大小。
每个 ArrayList 对象存储一个常规的元素数组。当你从 ArrayList 中读取元素时,它将从内部数组中读取这些元素。将元素写入 ArrayList 时,它将这些元素写入内部数组。
2、ArrayList优点:
(1)ArrayList 支持程序员必须始终执行的一些附加操作。普通数组不支持这些操作。例如,从数组中间插入或删除元素而不会留下孔。
(2)可以更改数组的大小。当你需要再添加一个元素但内部数组没有任何空闲插槽时,ArrayList 内部会发生下述情况:
a) 创建另一个数组,该数组比当前内部数组大 50% 外加一个元素。
b) 旧数组中的所有元素都将复制到新数组中。
c) 新数组将被另存为 ArrayList 对象的内部数组。旧数组被声明为垃圾(我们只是停止存储对它的引用)。
3、如何操作此 ArrayList?
-就像操作普通数组一样。
例:我们来比较一下 ArrayList 和数组的操作情况。假设我们需要‘读取 10 个字符串并以相反顺序在屏幕上显示它们’。
创建字符串列表’通常表示以下含义:ArrayList<String> list = new ArrayList<String>();
ArrayList的使用:
Java ArrayList class with example | CodeGym
How to remove an element from ArrayList in Java | CodeGym
4、泛型是什么?
泛型是带有参数的类型。在 Java 中,容器类允许你指出其内部对象的类型。
声明泛型变量时,我们指出两个(而不是一个)类型:变量类型和它所存储的数据的类型。
ArrayList 是一个很好的示例。创建新的 ArrayList 对象时,可以方便地指出将在此列表内存储的值的类型。
任何类都可以作为类型参数,甚至是自己编写的类,除原始类型外的任何类型。所有类型参数都必须从 Object 类继承。”
不能编写 ArrayList<int>
5、