动态数组 - 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         // 将第一个元素设置为9
26         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 }

运行结果

  

小结

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

  

  

 

posted on 2014-12-05 20:13  空山悟  阅读(233)  评论(0编辑  收藏  举报

导航