java基础:11.2 ArrayList

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/L20902/article/details/86502018

在十二章学习爬虫的示例里用到了ArrayList,发现对这个很不熟悉。再捋一遍

ArrayList  位于:java.util 包中

ArrayList 类来存储不限定个数的对象,可以指定一个具体的类型来替换E

...
{
    ...
    ArrayList<String> cityList = new ArrayList<>();   
    // <>中的元素必须是一种对象,不能是int,double..,可以是Integer.
    cityList.add("London");
    cityList.add("Paris");
    ...
    cityList.add("Miami");
    System.out.println(cityList.Size() + cityList.contains("Miami") +cityList.indexOf("London") + cityList.remove("Miami");
    System.out.println(cityList.toString());   //  == System.out.println(cityList);a
}

 

和数组的区别:

//  存储整数的数组列表。
ArrayList<Integer> list = new ArrayList<>();
import java.util.ArrayList;
import java.util.Scanner;
public class Arraytest {
	public static void main(String[] args) {
		// using ArrayList
		ArrayList<Integer> list = new ArrayList<>();
		Scanner input = new Scanner(System.in);
		System.out.println("enter integers(end with 0):");
		int value;
		do {
			value = input.nextInt();
			if(!list.contains(value) && value!=0) //对于每个值,如果不在列表中,则将其添加到列表中
				list.add(value);
		}while(value!=0);	
		for(int i=0;i<list.size();i++)
			System.out.print(list.get(i) + "  ");
	}
}

上述程序,也可使用数组进行存储。然而,使用ArrayList 来实现该程序将更简单,有以下两个原因。

  • ArrayList 的大小是灵活的,所以无须提前给定它的大小。而当创建一个数组时,它的大小必须给定。
  • ArrayList 包含许多有用的方法。比如,可以使用contains 方法来测试某个元素是否在列表中。如果使用数组,则需要编写额外代码来实现该方法。

数组列表中的元素也可以使用foreach 循环来进行遍历,语法如下:

for (elementType element: arrayList){
// Process the element
}

//example
for (int number: list)
System.out.print(number + "  ");

从数组中创建一个数组列表的例子:

String[]  array =  {"red","green","blue"};

ArrayList<String> list = new  ArrayList<>(Arrays.asList(array));     //静态方法asList返回一个列表

从一个数组列表来创建一个对象数组:

String[] array1 = new  String[list.size()];

list.toArray(array1);       //将list中的内容复制到array1

猜你喜欢

转载自blog.csdn.net/L20902/article/details/86502018
今日推荐