List

/*
 *此处简单的罗列了一些集合的共有方法的使用,List集合的特有方法的使用,以及Vector集合特有的迭代方法的使用。
 */

package classfile;

import java.util.*;

public class ArrayListDemo
{
	public static void main(String[] args)
	{
		method_collection();
		System.out.println("----------------------------------------------------------------");
		method_list();
		System.out.println("----------------------------------------------------------------");
		method_vector();//Vector特有的方法
	}

	//Collection的共有的方法
	public static void method_collection()
	{
		method_createOne();
		method_deleteOne();
		method_readOne();
	}

	//List特有的方法
	public static void method_list()
	{
		method_createTwo();
		method_deleteTwo();
		method_readTwo();
		method_update();
		method_listIterator();
	}

	//Collection的添加方法
	public static void method_createOne()
	{
		ArrayList<String> alOne = new ArrayList<String>();
		ArrayList<String> alTwo = new ArrayList<String>();


		//添加元素单个元素
		alOne.add("abc");
		alOne.add("def");
		System.out.println(alOne);

		//添加一个集合
		alTwo.addAll(alOne);
		System.out.println(alTwo);
	}

	//Collection的删除方法
	public static void method_deleteOne()
	{
		ArrayList<String> alOne = new ArrayList<String>();
		ArrayList<String> alTwo = new ArrayList<String>();

		alOne.add("abc");
		alOne.add("def");
		alOne.add("ghi");
		alOne.add("jkl");
		System.out.println("alOne:"+alOne);

		alTwo.add("abc");
		alTwo.add("jkl");
		alTwo.add("mn");
		alTwo.add("opq");
		System.out.println("alTwo:"+alTwo);

		//移除一个元素
		alOne.remove("abc");
		System.out.println("alOne移除一个元素:"+alOne);

		//移除与参数集合的元素的交集
		//alOne.removeAll(alTwo);
		//System.out.println("alOne被移除与alTwo的交集:"+alOne);

		//保留与参数集合的交集,移除其它所有的元素
		//alOne.retainAll(alTwo);
		//System.out.println("alOne仅保留与alTwo的交集:"+alOne);

		//在迭代的时候删除元素
		Iterator<String> iterator = alOne.iterator();
		while(iterator.hasNext())
		{
			if(iterator.next().equals("ghi"))
			{
				iterator.remove();
			}
		}
		System.out.println("迭代过程中删除元素:"+alOne);

		//清空集合
		alOne.clear();
		System.out.println("alOne被清空:"+alOne);
	}

	//Collection的获取方法
	public static void method_readOne()
	{
		ArrayList<String> alOne = new ArrayList<String>();
		ArrayList<String> alTwo = new ArrayList<String>();

		alOne.add("abc");
		alOne.add("def");
		alOne.add("ghi");
		alOne.add("jkl");
		alOne.add("mn");
		System.out.println("alOne:"+alOne);

		alTwo.add("abc");
		alTwo.add("def");
		System.out.println("alTwo"+alTwo);
		
		//判断集合中是否包含某一个元素
		System.out.println("alOne中是否包含abc:"+alOne.contains("abc"));

		//判断集合中是否包含参数集合中的所有元素
		System.out.println("alOne中是否包含alTwo中的所有元素:"+alOne.containsAll(alTwo));

		//判断集合是否为空
		System.out.println("alOne集合是否为空:"+alOne.isEmpty());

		//获取集合中元素的个数
		System.out.println("alOne中元素的个数为:"+alOne.size());

		//获取集合的迭代器,用于遍历集合中的元素
		Iterator<String> iterator = alOne.iterator();
		while(iterator.hasNext())
		{
			System.out.println("alOne中的元素:"+iterator.next());
		}

		//用for循环使用迭代器,这种方式更能够优化内存
		for(Iterator<String> it = alTwo.iterator();it.hasNext();)
		{
			System.out.println("alTwo中的元素:"+it.next());
		}

		//获取集合中所有元素组成的数组
		Object[] arrOne = alOne.toArray();
		for(int i=0;i<arrOne.length;i++)
		{
			System.out.println("集合转数组1:"+arrOne[i]);
		}

		//将集合中的所有元素,存入指定的数组。如果数组的长度不够,则创建一个新的数组。
		String[] arrTwo = new String[]{"a","b","c","d","e","f","g"};
		arrTwo = alOne.toArray(arrTwo);
		for(int i=0;i<arrTwo.length;i++)
		{
			System.out.println("集合专数组2:"+arrTwo[i]);
		}

		//集合转数组3,创建一个长度刚刚好的数组。
		String[] arrThree = alOne.toArray(new String[alOne.size()]);
		for(int i=0;i<arrThree.length;i++)
		{
			System.out.println("集合转数组3:"+arrThree[i]);
		}
	}

	//List特有的添加方法
	public static void method_createTwo()
	{
		ArrayList<String> alOne = new ArrayList<String>();
		ArrayList<String> alTwo = new ArrayList<String>();

		alOne.add("abc");
		alOne.add("def");
		alOne.add("ghi");
		alOne.add("jkl");
		alOne.add("mn");
		System.out.println("alOne:"+alOne);

		alTwo.add("rst");
		alTwo.add("uvw");
		System.out.println("alTwo:"+alTwo);

		//在某一角标位插入一个元素
		alOne.add(2,"opq");
		System.out.println("alOne插入元素后:"+alOne);

		//在某一角标位插入参数集合中的所有元素
		alOne.addAll(2,alTwo);
		System.out.println("alOne插入alTwo中的元素:"+alOne);
	}

	//List特有的删除方法
	public static void method_deleteTwo()
	{
		ArrayList<String> alOne = new ArrayList<String>();

		alOne.add("abc");
		alOne.add("def");
		alOne.add("ghi");
		alOne.add("jkl");
		alOne.add("mn");
		System.out.println("alOne:"+alOne);

		//删除指定角标处的元素
		alOne.remove(2);
		System.out.println("alOne删除指定角标处的元素后:"+alOne);
	}

	//List特有的查询方法
	public static void method_readTwo()
	{
		ArrayList<String> alOne = new ArrayList<String>();

		alOne.add("abc");
		alOne.add("def");
		alOne.add("ghi");
		alOne.add("jkl");
		alOne.add("mn");
		alOne.add("def");
		System.out.println("alOne:"+alOne);

		//获取集合中指定索引处的值
		System.out.println("alOne中索引2处的值为:"+alOne.get(2));

		//使用get方法遍历集合
		for(int i=0;i<alOne.size();i++)
		{
			System.out.println("使用get遍历alOne集合:"+alOne.get(i));
		}

		//获取集合中指定元素的第一次出现的索引
		System.out.println("alOne中def第一次出现处的索引为:"+alOne.indexOf("def"));

		//获取集合中指定元素的最后一次出现的索引
		System.out.println("alOne中def最后一次出现处的索引为:"+alOne.lastIndexOf("def"));

		//获取列表迭代器
		for(ListIterator<String> listIterator = alOne.listIterator();listIterator.hasNext();)
		{
			System.out.println("alOne中的元素1:"+listIterator.next());
		}

		//获取集合中指定索引之后的列表迭代器,包含指定的索引
		for(ListIterator<String> listIterator = alOne.listIterator(3);listIterator.hasNext();)
		{
			System.out.println("alOne中的元素2:"+listIterator.next());
		}

		//获取集合的指定子集合,注意返回的集合的类型是List
		List<String> subList = alOne.subList(1,4);
		System.out.println("alOne的子集合为:"+subList);
	}

	//List的修改
	public static void method_update()
	{
		ArrayList<String> alOne = new ArrayList<String>();
		ArrayList<String> alTwo = new ArrayList<String>();

		alOne.add("abc");
		alOne.add("def");
		alOne.add("ghi");
		alOne.add("jkl");
		alOne.add("mn");
		alOne.add("def");
		System.out.println("alOne:"+alOne);

		alTwo.add("abc");
		alTwo.add("def");
		System.out.println(alTwo);

		//修改集合中指定索引处的值,返回值为原来的元素
		System.out.println("alOne中被修改的旧值为:"+alOne.set(1,"opq"));
		System.out.println("alOne被修改后的内容为:"+alOne);

		//将集合的容量调整为当前元素个数的大小,节省内存空间
		alTwo.trimToSize();
	}

	//ListIterator
	public static void method_listIterator()
	{
		ArrayList<String> alOne = new ArrayList<String>();

		alOne.add("abc");
		alOne.add("def");
		alOne.add("ghi");
		alOne.add("jkl");
		alOne.add("mn");
		System.out.println("alOne:"+alOne);

		//用列表迭代器向集合中添加元素,插入到下一次next之前或者下一次previous之后
		for(ListIterator<String> listIterator = alOne.listIterator();listIterator.hasNext();)
		{
			if(listIterator.next().equals("def"))
			{
				listIterator.add("opq");
			}
		}
		System.out.println("插入元素之后的alOne:"+alOne);

		//用列表迭代器修改集合中的元素
		for(ListIterator<String> listIterator = alOne.listIterator();listIterator.hasNext();)
		{
			if(listIterator.next().equals("def"))
			{
				listIterator.set("rst");
			}
		}
		System.out.println("修改元素之后的alOne:"+alOne);

		//获取集合的迭代器
		ListIterator<String> listIterator = alOne.listIterator();

		while(listIterator.hasNext())
		{
			System.out.println("正向遍历alOne:"+listIterator.next());
		}

		while(listIterator.hasPrevious())
		{
			System.out.println("逆向遍历alone:"+listIterator.previous());
		}
	}

	//Vector
	public static void method_vector()
	{
		Vector<String> vector = new Vector<String>();

		vector.add("abc");
		vector.add("def");
		vector.add("ghi");
		vector.add("jkl");
		System.out.println("vector:"+vector);

		//用vector特有的方法枚举来迭代其中的元素
		for(Enumeration<String> enumeration = vector.elements();enumeration.hasMoreElements();)
		{
			System.out.println("使用枚举迭代vector:"+enumeration.nextElement());
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值