八、java中的ArrayList集合

ArrayList

  • 八、ArrayList
    • 1. 集合特点
    • 2. 方法
      • 2.1 构造方法
      • 2.2 成员方法
    • 3. 方法操作
    • 4. 泛型

八、ArrayList

  • 集合:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变

  • ArrayList集合的特点: 长度可以变化,只能存储引用数据类型。

1. 集合特点

ArrayList 的特点如下:

  1. 可变长度:ArrayList 的长度可以根据需要动态增长或缩减。

  2. 泛型支持:ArrayList 可以存储任何类型的对象,包括基本数据类型的包装类。

  3. 有序集合:ArrayList 中的元素按照它们被添加的顺序进行排序。

  4. 可随机访问:ArrayList 使用索引来访问和操作其中的元素,可以通过索引快速访问任意位置的元素。

2. 方法

2.1 构造方法

方法名 说明
public ArrayList() 创建一个空的集合对象
ArrayList(int initialCapacity) 创建指定初始容量的 ArrayList
ArrayList(Collection c) 创建包含指定集合中的元素的 ArrayList。

2.2 成员方法

方法名 说明
public boolean add(要添加的元素) 将指定的元素追加到此集合的末尾
public boolean remove(要删除的元素) 删除指定元素,返回值表示是否删除成功
public E remove(int index) 删除指定索引处的元素,返回被删除的元素
public E set(int index,E element) 修改指定索引处的元素,返回被修改的元素
public E get(int index) 返回指定索引处的元素
public int size() 返回集合中的元素的个数

3. 方法操作

下面是一些常用的 ArrayList 操作:

  1. 创建 ArrayList 对象

    可以使用 ArrayList list = new ArrayList<>()List list = new ArrayList<>() 来创建一个 ArrayList 对象,其中 E 是要存储的元素类型。

    例如:

    ArrayList<String> list = new ArrayList<String>();
    List<Integer> numbers = new ArrayList<>();
    
  2. 添加元素

    可以使用 add(E element) 方法将元素添加到 ArrayList 的末尾。

    例如:

    list.add("Apple");
    list.add("Banana");
    list.add("Orange");
    
    numbers.add(1);
    numbers.add(2);
    numbers.add(3);
    
  3. 获取元素

    使用 get(int index) 方法可以获取指定索引位置的元素。

    例如:

    String fruit = list.get(0);
    // fruit 等于 "Apple"
    
    int number = numbers.get(1);
    // number 等于 2
    
  4. 更新元素

    使用 set(int index, E element) 方法可以更新指定索引位置的元素。

    例如:

    list.set(1, "Grapes");
    // 将索引为1的元素更新为 "Grapes"
    
    numbers.set(0, 5);
    // 将索引为0的元素更新为 5
    
  5. 删除元素

    使用 remove(int index) 方法可以删除指定索引位置的元素,使用 remove(Object element) 方法可以删除指定元素。

    例如;

    list.remove(2);
    // 删除索引为2的元素 "Orange"
    
    numbers.remove(Integer.valueOf(2));
    // 删除值为2的元素
    
  6. 判断是否包含元素

    使用 contains(Object element) 方法可以判断 ArrayList 是否包含指定元素。

    例如:

    boolean containsFruit = list.contains("Apple");
    // containsFruit 等于 true
    
    boolean containsNumber = numbers.contains(4);
    // containsNumber 等于 false
    
  7. 获取 ArrayList 的大小

    使用 size() 方法可以获取 ArrayList 中的元素数量。

    例如:

    int sizeOfList = list.size();
    // sizeOfList 等于 2
    
    int sizeOfNumbers = numbers.size();
    // sizeOfNumbers 等于 2
    
  8. 遍历元素

    可以使用循环结构(如 forforeach)来遍历 ArrayList 中的所有元素。

    例如;

    // 使用 for 循环遍历 ArrayList
    for (String fruit : list) {
        System.out.println(fruit);
    }
    
    // 使用 forEach 遍历 ArrayList
    list.forEach(fruit -> System.out.println(fruit));
    

4. 泛型

泛型(Generics)是 Java 5 中引入的一个新特性,它提供了编译时类型检查和更好的代码复用的能力,使得代码更加健壮和安全。

泛型是参数化类型的一种实现方式,可以将类型参数化来达到适应多种类型的需求。

当我们声明一个泛型类或方法时,可以使用一个或多个类型参数(type parameter)来表示该类或方法中要使用的数据类型,这个数据类型可以是任意一种有效的 Java 类型(包括基本类型和对象类型)。

例如,下面是一个简单的泛型类的示例:

public class Box<T> {
    private T content;

    public Box(T content) {
        this.content = content;
    }

    public T getContent() {
        return this.content;
    }

    public void setContent(T content) {
        this.content = content;
    }
}

这里,我们使用了一个类型参数 T 来表示这个类中的某个数据类型,这个类型可以是任意一种有效的 Java 类型。

在实例化这个类时,我们需要提供一个具体的数据类型作为实参(这个实参必须是一个类型,即 不是指具体值)。
例如:

Box<String> box = new Box<String>("Hello World");
String content = box.getContent();

在这个示例中,我们使用 Box 来实例化泛型类 Box,这个类型实参告诉编译器,我们使用 Box 中的类型参数 TString 类型,因此 Box 类中的 content 属性和 getContent()setContent() 方法的返回值和参数类型都是 String 类型。

你可能感兴趣的:(Java,java,开发语言)