List集合和Set的遍歷(筆記)


package Collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

import org.junit.Test;
/**
 * 
 * @author LYJ
 *    List接口:
 *    它是一個元素存取有序的集合。例如,存元素的順序是11、22、33。那么集合中,元素的存儲就是按照11、22、33的順序完成的)。
 *    它是一個帶有索引的集合,通過索引就可以精確的操作集合中的元素(與數組的索引是一個道理)。
 *集合中可以有重復的元素,通過元素的equals方法,來比較是否為重復的元素。
 *
 *    List接口的常用子類有:
 *    ArrayList集合        ArrayList集合數據存儲的結構是數組結構。元素增刪慢,查找快,由於日常開發中使用最多的功能為查詢數據、遍歷數據,所以ArrayList是最常用的集合。
 *    LinkedList集合    LinkedList集合數據存儲的結構是鏈表結構。方便元素添加、刪除的集合。實際開發中對一個集合元素的添加與刪除經常涉及到首尾操作,而LinkedList提供了大量首尾操作的方法。
 *    增強for
 *    Itetator 迭代器
 *    並發修改異常解決辦法:在迭代時,不要使用集合的方法操作元素。
 *    那么想要在迭代時對元素操作咋辦?通過ListIterator迭代器操作元素是可以的,ListIterator的出現,解決了使用Iterator迭代過程中可能會發生的錯誤情況。
 *    
 */
public class Collection_Demo2 {
    /**
     * 增強for
     * 
     */
    @Test
    public void testFor() {
//        創建集合添加元素
        Collection<String> coll = new ArrayList<String>();
        coll.add("no");
        coll.add("zuo");
        coll.add("no");
        coll.add("die");
        for(String c :coll) {
            System.out.print(c+" ");
        }
        //輸出結果         no zuo no die 
    }
    
    
    /*****************************************************
     * Iterator迭代器
     */
    @Test
    public void testIterator() {
//        創建集合添加元素
        Collection<String> coll = new ArrayList<String>();
        coll.add("no");
        coll.add("zuo");
        coll.add("no");
        coll.add("die");
//        利用list集合方法iterator獲取迭代器對象
        Iterator<String> it = coll.iterator();
        //利用迭代器hasNext()方法判斷集合是否有元素,
        //用迭代器next()方法獲取元素,自動跳到下一個元素
        while(it.hasNext()) {
            System.out.print(it.next());
            System.out.print(" ");//輸出一個空格
        }
        
        //輸出      no zuo no die 

    }
    /*
     * Set集合的遍歷
     * Set接口是無序集合,存儲和取出順序不同,沒有索引,不存儲同類元素
     * 
     * */
    @Test
    public void testSet() {
        Set<String> set = new HashSet<String>();
    
        //給集合中添加自定義對象
        set.add("zhangsan");
        set.add("lisi");
        set.add("wangwu");
        set.add("zhangsan");
        //取出集合中的每個元素
        Iterator<String> it = set.iterator();
        while(it.hasNext()){
        
            System.out.println(it.next());
        }
        /**
         * 輸出    lisi
                zhangsan
                wangwu
         *        
         * Set集合不能存重復元素
         * HashSet中LinkedHashSet是有序的鏈表集合
         */
    }
    
    
    
    
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM