ArrayList列表

package Demo03_18;

import java.util.ArrayList;

//ArrayList类
//现在,我们来介绍一个很有用的用于存储对象的类。可以创建一个数组存储对象,但是这个数组一旦创建,它的大小就固定了。
//Java提供提供了ArrayList类,可以用来存储不限定个数的对象
//ArrayList是一种泛型类,具有一个泛型类型E。创建一个ArrayList时,可以指定一个具体的类型来替换E。
public class Demo_01 {
	//ArrayList<E> list = new ArrayList<E>();由于使用了称为类型推导的特征,构造方法中不再要求给出具体类型
	public static void main(String[] args) {
		ArrayList<String> cityList = new ArrayList<String>();
		//使用对象名.add("值");的方法来向数组列表中添加元素
		cityList.add("London");
		cityList.add("Denver");
		cityList.add("Paris");
		cityList.add("Miami");
		cityList.add("Seoul");
		cityList.add("Tokyo");
		
		//.size()方法能返回列表中的元素个数
		System.out.println(cityList.size());
		
		//.contains()方法能判断列表中是否含有指定元素
		System.out.println(cityList.contains("Tokyo"));
		System.out.println(cityList.contains("California"));
		
		//.indexOf()方法判断列表中指定元素的下标
		System.out.println(cityList.indexOf("Seoul"));
		System.out.println(cityList.indexOf("Hongkong"));//如果不存在则返回-1
		
		//.isEmpty()方法判断列表是否为空
		System.out.println(cityList.isEmpty());
		
		//.add()方法向列表末尾或指定下标出添加元素
		cityList.add("Ben");
		cityList.add(0, "5");
		
		//.remove()方法向列表值移除指定元素,如果移除成功则返回true
		System.out.println(cityList.remove("5"));
		
		//直接输出将以数组形式输出
		System.out.println(cityList);
		
		//转化为字符串输出
		System.out.println(cityList.toString());//显示效果和直接输出一样
		
		String temp = cityList.toString();//实际上是以字符串形式存在
		System.out.println(temp);
		
		//.get()用于返回指定下标的元素
		System.out.println(cityList.get(3));
		
		//可以用来存储不同类型的元素
		ArrayList list = new ArrayList();
		list.add("bench");
		list.add(5);
		list.add('j');
		
		
		for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i));
		}
		
		//清空
		list.clear();
		System.out.println(list);//为空
	}

}
package Demo03_18;

import java.util.ArrayList;

//数组与ArrayList的异同
//首先数组一旦被创建大小就固定了
public class Demo_02 {

	public static void main(String[] args) {
		//数组的创建
		String[] a = new String[10];
		
		//ArrayList
		ArrayList<String> list  = new ArrayList<String>();//大小可变
		
		//访问元素
		//数组a[index];
		//list.get(index);
		
		//更新元素
		//a[index] = "London";
		//list.set();
		
		//返回大小
		//a.length//长度
		//list.size();//大小
		
		//以下都为ArrayList方法
		//添加一个新元素
		//list.add(val);//添加到末尾
		
		
		//插入一个新元素,即在指定位置插入,后面的元素往后移
		//list.add(index,val)//添加到指定位置
		
		//删除一个元素
		//list.remove(index);//删除指定位置
		//list.remove(val);//删除指定值
		
		//删除所有元素
		//list.clear()
		
		
		

	}
	}

package Demo03_18;

import java.util.ArrayList;
import java.util.Scanner;

//DistinctNumbers
public class Demo_03 {

	public static void main(String[] args) {
		ArrayList<Integer> list = new ArrayList<>();
		
		Scanner sc = new Scanner(System.in);
		System.out.println("输入整数,以0结束");
		
		int value;
		
		//do-while循环可以用来连续输出某些值,当有值为截止符时结束输入
		do{
			value = sc.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) + " ");
		}
		
		//使用for-each循环能遍历ArrayList
		for(Integer i:list)
			System.out.println(i + " ");
	}}
package Demo03_18;

import java.util.ArrayList;

public class Demo_04 {

	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList<>();
		list.add("Denver");
		list.add("Sustin");
		//set方法不能用于向数组中添加元素
		list.set(2, "Dalls");
		//数组越界异常
		System.out.println(list.get(2));

	}

}


上一篇:12:计算球的体积


下一篇:SqlServer 以逗号隔开的字符串字段的关联查询