HashMap的遍历方式汇总

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.junit.Test;

import java.util.*;

public class HashMapTest01 {

    User user = new User(23,"majing");
    Map hashMap = new HashMap<>();
    Map<String,Object> map=new HashMap<String,Object>();
    {
        hashMap.put("xues1", "majing");
        hashMap.put("xues2", "mabing");
        map.put("username", "qq");
        map.put("passWord", "123");
        map.put("userID", "1");
        map.put("U", user);
        map.put("email", "[email protected]");
    }

    @Test
    public void test01(){

        //1:for循环遍历
        map.putAll(hashMap);
        for (Map.Entry<String,Object> entry:map.entrySet()){
            System.out.println(entry.getKey()+"  "+entry.getValue());
        }
    }
    @Test
    public void test02(){
        //第二种方式(迭代)
        Set set = map.entrySet();
        Iterator iterator = set.iterator();
        while (iterator.hasNext()){
            Map.Entry<String,Object> entry=(Map.Entry<String,Object>)iterator.next();
            System.out.println(entry.getKey()+"  "+entry.getValue());
        }
    }
    @Test
    public void test03(){
        //第三种方式  用keySet()迭代
        Iterator iterator1 = map.keySet().iterator();
        while (iterator1.hasNext()){
            String key;
            Object value;
            key=iterator1.next().toString();
            value=map.get(key);
            System.out.println(key+"  "+value);
        }
    }
    @Test
    public void test04(){
        //第四种方式  用entrySet()迭代
        Iterator iterator2 = map.entrySet().iterator();
        System.out.println(map.entrySet());
        String key;
        String value;
        while (iterator2.hasNext()){
            Map.Entry en = (Map.Entry) iterator2.next();
            key=en.getKey().toString();
            value=en.getValue().toString();
            System.out.println(key+"  "+value);
        }
    }
    @Test
    public void test05(){
        for (Map.Entry<String, Object> entry : map.entrySet()) {
            System.out.println(entry.getKey() + "  " + entry.getValue());
        }
    }
}

@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
class User{
    private int age;
    private String name;
}

猜你喜欢

转载自blog.csdn.net/KAITUOZHEMJ/article/details/112787743
今日推荐