黑马程序员-List集合共性方法,ListIterator学习笔记

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
package heimaLog;
import java.util.*;
/*
 * Collection 
 *     |--List: 元素是有序的,元素可以重复,以为该集合体系中有索引。
 *     |--set:  元素是无序的,元素不可以重复。
 * 
 * List集合 可以按照指定的顺序插入元素。
 * set()方法可以改变元素的 值
 * 凡是带有角标的方法都是该体系特有的方法
 * 
 * 增: add(index,element);
 *    addAll(index,Collection);
 * 删: remove(index);
 * 
 * 改: set(index,element);
 * 
 * 插: get(index);
 *    subList(from,to);
 *    listIterator(); 
 * 
 *List集合特有的迭代器,ListIterator是Iterator的子接口。
 *
 *在迭代的过称中,不可以通过集合对象的方法操作集合中的元素。
 *因为会发生ConcurrenModificationExcepiton异常
 *如果要对集合中的元素进行添加修改删除就需要使用其子接口,ListIterator接口。
 *
 *ListIterator只能通过List的ListIterator方法获取。
 * 
 * */
public class ListDemo {
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		ArrayList al= new ArrayList();
		al.add("java001");
		al.add("java003");
		al.add("java004");
		al.add("java005");
		
		sop("元集合是:"+al);
		
		al.add(1,"java008");
		
		al.set(2, "java00f");
		
		sop("get(1):= "+al.get(1));
		
		sop(al);
		
		for(int x = 0;x<al.size();x++)//同样可以通过迭代器的方式去取元素
	                                  //但是迭代器没有添加的动作		
  		{
			
			sop(al.get(x));
		}
		
		ListIterator li =al.listIterator();
		
		while(li.hasNext()){
			
			Object obj =li.next();
		    if(obj.equals("java001")){
		    	
		    	li.set("java006");
		    	
		    }	
		   
		}
		sop(al);
		sop(li.hasPrevious());//是否有一个前继元素
		 while(li.hasPrevious()){
			 
			 sop("===:"+li.previous());
			 
			 
		 }
		 
		 //通过IndexOf()获取对象的位置
		 sop("index="+al.indexOf("java001"));
		 List sub = al.subList(1, 3);
		 sop("sub = "+ sub);

	}
  
	public static void sop(Object obj){
		
		System.out.println(obj);
		
	}
}

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值