java集合之ArrayList

package collectiondemo;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
/*集合之list
 |--List 接口     有序的,可重复,可根据角标操作元素
	 |--ArrayList  底层数据结构是数组,查询速度快,增删稍慢,线程不同步的
	 |--LinkedList 底层数据结构是链表,增删速度快,查询稍慢,线程不同步的
	 |--Vector 底层数据结构是数组,增删查都稍慢,线程同步的,jdk1.0出现的,那时候还没有集合框架,后来被ArrayList取代 */ 
public class CopllectionDemo1 {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ArrayList<String>  al=new ArrayList<String>();
		al.add("1");
		al.add("2");
		al.add("3");
		al.add("4");
		//iteratorMthod(al);
		//foreachMethod(al);
		//method_5( al);
		//method_3(al);
		method_2(al);
	}

	public static void method_2(ArrayList<String> al )
	{
		ListIterator<String> li=al.listIterator(); 
		while(li.hasNext())
		{
			String str=li.next();
			if(str.equals("4"))
			{
				//通过  ListIterator 删除元素   
				//	li.remove();

				//t通过ListIterator  添加元素
				//li.add("1231231");

				//通过ListIterator  修改元素
				li.set("12");
			}
		}
		foreachMethod(al);
	}

	public static void method_3(List<String> a)
	{
		// 返回指定的的数据
		List<String>  sub=a.subList(2, 4);
		foreachMethod(sub);
	}
	/*ArrayList 的一些方法*/
	public static <Q> void method_4(ArrayList<Q> a)
	{
		ArrayList<String> newal=new ArrayList<String>();
		newal.add("new");
		newal.add("new");
		newal.add("new");

		//添加一个元素
		//	a.add((Q) "s");

		//指定位置添加元素
		//	a.add(1, (Q) "123");

		// 添加一个集合
		//	a.addAll((Collection<? extends Q>) newal);  //上限

		//指定位置添加一个集合的元素
		//a.addAll(4, (Collection<? extends Q>) newal);

		//清空集合
		//a.clear();


		// 包括元素
		//System.out.println(a.contains("1"));

		// 将集合转换成数组
		Object[] obj=a.toArray();
		String [] str=new String[obj.length];
		for(int i=0;i<obj.length;i++)
		{
			//str[i]=obj[i].toString();

			str[i]=obj[i]+"";
			System.out.println(str[i]);
		}
		//		for(Object o:obj)
		//		{
		//			System.out.println(o);
		//		}

		//   foreachMethod(a);
	}
	//ArrayList的 增  删 该 查
	@SuppressWarnings("unchecked")
	public static <Q> void method_5(List<Q> l)
	{
		//添加
		l.add((Q) "q");
		// 删除
		l.remove(2);
		//修改
		l.set(2, (Q) "new");
		//查
		///Q q=l.get(2);
		//sop(q);
		foreachMethod(l);
	}
	//节省空间的遍历方法  for结束的时候里面的数据就成为垃圾了
	public  static <Q> void foreachMethod(List<Q> l)
	{
		for(Iterator<Q> it=l.iterator();it.hasNext();)
		{
			Q str=it.next();
			sop(str);
		}
	}
	//迭代遍历的方法
	public static <Q> void iteratorMthod(ArrayList<Q> al)
	{
		Iterator<Q> it=al.iterator();
		while(it.hasNext())
		{
			Q str=it.next();
			sop(str);
		}
	}
	// 输出数据的方法
	public static void sop(Object obj)
	{
		System.out.println(obj);
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值