Java ArrayList


章节


Java ArrayList

ArrayList类是一个大小可变的数组类,包含在java.util包中。

Java中,内置数组和ArrayList的区别在于,内置数组的大小不能改变(如果想在数组中添加或删除元素,必须创建一个新数组),而ArrayList中,元素可以添加和删除。语法也略有不同:

示例

创建ArrayList对象cars

import java.util.ArrayList; // 导入ArrayList类

ArrayList<String> cars = new ArrayList<String>(); // 创建一个ArrayList对象

如果你不知道“包”是什么,请参考我们的Java包教程

添加项目

ArrayList类有许多方法。要向ArrayList添加元素,可以使用add()方法:

示例

import java.util.ArrayList;

public class MyClass { 
  public static void main(String[] args) { 
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    System.out.println(cars);
  } 
}

访问一个项目

要访问ArrayList中的元素,使用get()方法,传入元素的索引号:

示例

cars.get(0);

记住: 数组索引以0开头: [0]是第一个元素,[1]是第二个元素,等等。

修改一个项目

要修改一个元素,使用set()方法,传入元素的索引号:

示例

cars.set(0, "Opel");

删除一个项目

要删除一个元素,使用remove()方法,传入元素的索引号:

示例

cars.remove(0);

要删除ArrayList中的所有元素,使用clear()方法:

示例

cars.clear();

ArrayList大小

要知道一个ArrayList有多少个元素,可以使用size()方法:

示例

cars.size();

遍历ArrayList

可使用for循环遍历ArrayList的元素,使用size()方法指定循环次数:

示例

public class MyClass { 
  public static void main(String[] args) { 
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    for (int i = 0; i < cars.size(); i++) {
      System.out.println(cars.get(i));
    }
  } 
}

也可以使用for-each遍历ArrayList:

示例

public class MyClass { 
  public static void main(String[] args) { 
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    for (String i : cars) {
      System.out.println(i);
    }
  } 
}

其他类型

ArrayList中的元素实际上是对象。在上面的例子中,我们创建了类型为“String”的元素(对象)。记住,Java中的字符串是对象(而不是基本类型)。

要使用其他类型,例如int,必须指定一个等效的包装类: Integer类,其他基本类型对应的包装类有: Boolean (boolean),Character (char), Double (double),等等:

示例

创建一个ArrayList来存储数字(添加Integer类型的元素):

import java.util.ArrayList;

public class MyClass { 
  public static void main(String[] args) { 
    ArrayList<Integer> myNumbers = new ArrayList<Integer>();
    myNumbers.add(10);
    myNumbers.add(15);
    myNumbers.add(20);
    myNumbers.add(25);
    for (int i : myNumbers) {
      System.out.println(i);
    }
  } 
}

数组排序

java.util包中,另一个有用的类是Collections类,它包含了sort()方法,可以对列表按字母或数字顺序排序:

示例

字符串数组排序:

import java.util.ArrayList;
import java.util.Collections;  // 导入Collections类

public class MyClass { 
  public static void main(String[] args) { 
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");

    Collections.sort(cars);  // cars数组排序 

    for (String i : cars) {
      System.out.println(i);
    }
  } 
}

示例

整数数组排序:

import java.util.ArrayList;
import java.util.Collections;  // 导入Collections类

public class MyClass { 
  public static void main(String[] args) { 
    ArrayList<Integer> myNumbers = new ArrayList<Integer>();
    myNumbers.add(33);
    myNumbers.add(15);
    myNumbers.add(20);
    myNumbers.add(34);
    myNumbers.add(8);
    myNumbers.add(12);

    Collections.sort(myNumbers);  // myNumbers数组排序 

    for (int i : myNumbers) {
      System.out.println(i);
    }
  } 
}
原文地址:https://www.cnblogs.com/jinbuqi/p/11731220.html