首页 > 代码库 > 动态数组 - ArrayList

动态数组 - ArrayList

前言

  如果数组的大小要随时间变化,那么数组操作起来就比较麻烦。

  在C++中,这种情况要用到动态向量Vector。

  而Java中,提供了一种叫做ArrayList的泛型数组结构类型,提供相似的作用。

  其实都是一种东西,只是在使用上面有那么一点区别。

  本文将讲解ArrayList的具体使用方法。

ArrayList常用方法

  先要做如下说明:

    1. 因为 Java 不支持运算符的重载,所以不支持下标运算符,无法使用[]运算符来存取元素。

    2. ArrayList成员必须是对象类型(泛型不支持基本类型)。也就是int,float这些不能作为成员。如果要使用这些基本类型,必须使用其对象表达方式。(下文会讲解转换技巧)

  // 构造一个空数组列表

  ArrayList <T> ();

  // 设置数组列表指定位置的元素值

  void set (int index, T obj);

  // 获取数组列表指定位置的元素值

  T get (int index);

  // 删除一个元素

  T remove (int index);

  // 往数组列表里添加元素

  boolean add (T obj);

  // 往数组列表的指定位置插入元素

  void add (int index, T obj);

  // 获取当前容量

  int size();

示例代码

 1 package test; 2  3 import java.util.ArrayList; 4  5 public class Java7Learn { 6      7     public static void main(String[] args){ 8          9         // 测试数组10         int [] a = {1, 3, 5, 7, 9};11         12         // 创建ArrayList并赋值13         ArrayList<Integer> array = new ArrayList<Integer>();14         for (int i:a) {15             array.add(i);16         }17         18         // 打印结果19         for (int i:array) {20             System.out.print(i);21             System.out.print(" ");22         }23         System.out.println();24         25         // 将第一个元素设置为926         array.set(0, 9);27         28         // 删除第3个元素29         array.remove(2);30         31         // 再打印结果32         for (int i:array) {33             System.out.print(i);34             System.out.print(" ");35         }36         System.out.println();37     }38 }

运行结果

  

小结

  没什么多讲的,多用几次就会了。

  

  

 

动态数组 - ArrayList