遍历hashMap、hashSet、Hashtable

一.遍历HashMap

package struct;
import java.util.*;
import java.util.Map.Entry;
/**
 * Created by Mickel.Xiang on 2018/4/23.
 */
public class TraverseHashMap {

    public static void main(String[] args) {
        Map<String,String> map=new HashMap<String,String>();
        map.put("1", "value1");
        map.put("2", "value2");
        map.put("3", "value3");
        map.put("4", "value4");

        //第一种:普通使用,二次取值
        System.out.println("\n通过Map.keySet遍历key和value:");
        for(String key:map.keySet())
        {
            System.out.println("Key: "+key+" Value: "+map.get(key));
        }

        //第二种
        System.out.println("\n通过Map.entrySet使用iterator遍历key和value: ");
        Iterator map1it=map.entrySet().iterator();
        while(map1it.hasNext())
        {
            Map.Entry<String, String> entry=(Entry<String, String>) map1it.next();
            System.out.println("Key: "+entry.getKey()+" Value: "+entry.getValue());
        }

        //第三种:推荐,尤其是容量大时
        System.out.println("\n通过Map.entrySet遍历key和value");
        for(Map.Entry<String, String> entry: map.entrySet())
        {
            System.out.println("Key: "+ entry.getKey()+ " Value: "+entry.getValue());
        }

        //第四种
        System.out.println("\n通过Map.values()遍历所有的value,但不能遍历key");
        for(String v:map.values())
        {
            System.out.println("The value is "+v);
        }
    }
}

二.遍历HashSet

package struct;
import java.util.*;

/**
 * Created by Mickel.Xiang on 2018/4/23.
 */
public class TraverseHashSet {

    public static void main(String[] args){

        Set<String> set = new HashSet<String>();

        set.add("aaa");
        set.add("bbb");
        set.add("ccc");

        //通过迭代器遍历HashSet
        Iterator<String> it = set.iterator();
        while(it.hasNext()) {
            System.out.println(it.next());
        }
        for(Iterator it1=set.iterator();it1.hasNext();)
        {
            System.out.println(it1.next());
        }

        System.out.println("==================");
        //通过加强for循环遍历HashSet
        for(String s: set) {
            System.out.println(s);
        }
    }
}

Set set = new HashSet();

  for(int i=0;i<100;i++)
  {
   set .add("123");
  }

for(Iterator it=set.iterator();it.hasNext();)
  {
   System.out.println(it.next());
  }

三.遍历Hashtable(同步、线程安全的)

package struct;

import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

public class TraverseHashTable {

    public static void main(String[] args) {
        Hashtable<String,String> hashtable=new Hashtable<String,String>();
        hashtable.put("1", "aa");
        hashtable.put("2", "bb");
        hashtable.put("3", "cc");

        //第一种hashtable遍历方式 使用keySet()
        System.out.println("第一种遍历方式");
        for(Iterator<String> iterator=hashtable.keySet().iterator();iterator.hasNext();){
            String key=iterator.next();
            System.out.println("key-----"+key);
            System.out.println("value--------"+hashtable.get(key));
        }

    //第二种hashtable遍历方式 使用entrySet()
        System.out.println("第二种遍历方式");
        for(Iterator<Entry<String, String>> iterator=hashtable.entrySet().iterator();iterator.hasNext();){
            Entry<String,String> entry=iterator.next();
            System.out.println("key---------"+entry.getKey());
            System.out.println("value------------"+entry.getValue());
        }

        //第三种hashtable遍历方式
        System.out.println("第三种遍历方式");
        for(Map.Entry<String, String> entry: hashtable.entrySet()){
            System.out.println("key---------"+entry.getKey());
            System.out.println("value--------"+entry.getValue());
        }

//第四种遍历方式 使用keys()
        System.out.println("第四种遍历方式");
        Enumeration<String> e=hashtable.keys();
        while(e.hasMoreElements()){
            String key=e.nextElement();
            System.out.println("key-----"+key);
            System.out.println("value-------"+hashtable.get(key));
        }

//第五中遍历方式(获取所有的值) 使用elements()
        System.out.println("第五种遍历方式");
        Enumeration<String> e2=hashtable.elements();
        while (e2.hasMoreElements()) {
            String string = (String) e2.nextElement();
            System.out.println(string);
        }
    }
}

猜你喜欢

转载自my.oschina.net/mickelfeng/blog/1799880