Java中常見集合循環遍歷方法


Set和List的區別
1. Set 接口實例存儲的是無序的,不重復的數據。List 接口實例存儲的是有序的,可以重復的元素。

2. Set檢索效率低下,刪除和插入效率高,插入和刪除不會引起元素位置改變 <實現類有HashSet,TreeSet>。

3. List和數組類似,可以動態增長,根據實際存儲的數據的長度自動增長List的長度。查找元素效率高,插入刪除效率低,因為會引起其他元素位置改變 <實現類有ArrayList,LinkedList,Vector> 。

 

 

 

package com.ietree.collectionsdemo;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

/**
 * ArrayList、LinkedList、HashSet、HashMap
 * ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap
 * 
 * @author yuanjin
 */
public class Demo {
    public static void main(String[] args) {
        // List集合的遍歷方法
        List<String> list = new ArrayList<String>();
        list.add("Python");
        list.add("Java");
        list.add("C#");
        list.add("Ruby");

        System.out.println("---------List的遍歷方法1:使用 For-Each 遍歷 List-----------");
        for (String str : list) {
            System.out.println(str);
        }

        System.out.println("----------List的遍歷方法2:使用for循環遍歷----------");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

        System.out.println("----------List的遍歷方法3:使用使用迭代器遍歷----------");
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }

        // Map集合的遍歷方法
        Map<String, String> map = new HashMap<>();
        map.put("1", "Python");
        map.put("2", "Java");
        map.put("3", "C#");
        map.put("4", "Ruby");
        System.out.println("----------Map的遍歷方法1:二次取值----------");
        for(String key : map.keySet()) {
            System.out.println(map.get(key));
        }
        
        System.out.println("----------Map的遍歷方法2:通過Map.entrySet使用iterator遍歷key和value----------");
        Iterator<Entry<String, String>> iter = map.entrySet().iterator();
        while(iter.hasNext()) {
            Entry<String, String> entry = iter.next();
            System.out.println(entry.getKey() + "\t" + entry.getValue());
        }
        
        System.out.println("----------Map的遍歷方法3:通過Map.entrySet遍歷key和value----------");
        for(Map.Entry<String, String> entry : map.entrySet()) {
            System.out.println(entry.getKey() + "\t" + entry.getValue());
        }
        
        System.out.println("----------Map的遍歷方法4:通過Map.values()遍歷所有的value,但不能遍歷key----------");
        for(String value : map.values()) {
            System.out.println(value);
        }

    }

}

 


免責聲明!

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



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