Java Map集合的遍歷(簡述)

Java Map集合的遍歷(簡述)java

今天給你們分享一下集合的iterator遍歷和加強for遍歷(以map集合爲例)安全

獻給你們簡單介紹一下map集合,map集合存儲的是鍵值對,它和set、ArrayList等集合不一樣的是它不含add方法等添加元素,詳細就不累述了,要用的時候能夠直接去搜。它用put和remove增刪元素,裏面的元素是無序的,是線程不安全的集合。下面代碼爲例:spa

    private static Map inputkeyandvalue() {線程

        // TODO Auto-generated method stub對象

        Map<Integer,String> map = new HashMap<Integer,String>();ci

        map.put(1, "a");rem

        map.put(66, "b");get

        map.put(6, "c");input

        map.put(5, "a");it

        System.out.println(map);

        System.out.println(map.get("66"));

        return map;

    }

在delete方法裏面用remove刪除map集合裏面的元素(按照鍵刪除鍵值對)

Map<Integer,String> recive_delete = inputkeyandvalue();

        recive_delete.remove(1);

接下來能夠開始遍歷map集合了(先用KeySet遍歷方式),調用map的keyset方法,將數據存到Set集合當中,再用迭代器遍歷或者加強for遍歷遍歷,如下爲代碼:

        //調用map的keyset方法,將數據存到Set集合當中,KeySet遍歷方式

        Set<Integer> set = recive_mapset.keySet();

        //用迭代器遍歷set

        System.out.println("迭代器遍歷");

        Iterator<Integer> it = set.iterator();

        while(it.hasNext()){

            Integer key = it.next();

            String value = recive_mapset.get(key);

            System.out.println(key+"......"+value);

        }

       

        System.out.println("加強for遍歷");

        for(Integer key :set){

            String value = recive_mapset.get(key);

            System.out.println(key+"......"+value);

        }

 

第二種遍歷方式, 調用map的entry方法(entry表示的是鍵值對的關係),將鍵值對的關係存到set集合裏面,遍歷entry,而後調用entry的getKey和getValue的方法得到鍵與值。代碼以下。

//將鍵值對的關係存到set集合裏面,entrySet遍歷方式

        Set<Map.Entry<Integer,String>> set = recive_mapset.entrySet();

        //加強for………

        //迭代器

        Iterator<Map.Entry<Integer,String>> it = set.iterator();

        while(it.hasNext()){

            //System.out.println(it.next());

            Map.Entry<Integer,String> entry = it.next();

            Integer key = entry.getKey();

            String value = entry.getValue();

            System.out.println(key +"........."+value);

        }

 

備註:我在java 項目裏建了inputkeyandvalue()方法來建立一個map集合,在不一樣的方法中調用該方法生成map集合對象recive_mapset

源代碼附在下面:

package day20;

 

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

 

public class MapDemo {

 

    public static void main(String[] args){

        //inputkeyandvalue();

        //delete();

        //mapset();

        entryset();

    }

 

    private static void entryset() {

        // TODO Auto-generated method stub

        Map<Integer,String> recive_mapset = inputkeyandvalue();

        //將鍵值對的關係存到set集合裏面,entrySet遍歷方式

        Set<Map.Entry<Integer,String>> set = recive_mapset.entrySet();

        //加強for………

        //迭代器

        Iterator<Map.Entry<Integer,String>> it = set.iterator();

        while(it.hasNext()){

            //System.out.println(it.next());

            Map.Entry<Integer,String> entry = it.next();

            Integer key = entry.getKey();

            String value = entry.getValue();

            System.out.println(key +"........."+value);

        }

       

    }

 

    private static void mapset() {

        // TODO Auto-generated method stub

        //

        Map<Integer,String> recive_mapset = inputkeyandvalue();

        //調用map的keyset方法,將數據存到Set集合當中,KeySet遍歷方式

        Set<Integer> set = recive_mapset.keySet();

        //用迭代器遍歷set

        System.out.println("迭代器遍歷");

        Iterator<Integer> it = set.iterator();

        while(it.hasNext()){

            Integer key = it.next();

            String value = recive_mapset.get(key);

            System.out.println(key+"......"+value);

        }

       

        System.out.println("加強for遍歷");

        for(Integer key :set){

            String value = recive_mapset.get(key);

            System.out.println(key+"......"+value);

        }

       

    }

 

    private static void delete() {

        // TODO Auto-generated method stub

        Map<Integer,String> recive_delete = inputkeyandvalue();

        recive_delete.remove(1);

        System.out.println(recive_delete);

    }

 

    private static Map inputkeyandvalue() {

        // TODO Auto-generated method stub

        Map<Integer,String> map = new HashMap<Integer,String>();

        map.put(1, "a");

        map.put(66, "b");

        map.put(6, "c");

        map.put(5, "a");

        System.out.println(map);

        System.out.println(map.get("66"));

        return map;

    }

}

 

 

若有不正確的地方歡迎你們指正,謝謝觀看。

相關文章
相關標籤/搜索