集合map和set遍历的方式

  • map集合遍历
public static void main(String[] args) {
        HashMap<String, String> testmap = new HashMap<>();
        testmap.put("k1","1");
        testmap.put("k2","2");
        testmap.put("k3","3");
        testmap.put("k4","4");
        testmap.put("k5","5");
        //第一种是首先获取到key,在根据key来获取value
        Set<String> strings = testmap.keySet();
        for (String str :strings){
            System.out.println("key:"+str+"\tvalue:"+testmap.get(str));
        }
        //第二种是获取key的迭代器,在通过key来遍历出value
        Set<String> strings = testmap.keySet();
        Iterator<String> iterator = testmap.keySet().iterator();
        while(iterator.hasNext()){
            String next = iterator.next();
            System.out.println("key:"+next+"\tvalue:"+testmap.get(next));
        }
		 /**第三种是使用entrySet()方法获取集合中的值来遍历
		         *  keyset方法是返回map中key值的集合,entrySet方法是返回一个set集合,集合类型是map.entry
		         *  它表示map中的一个实体,
		         *  快捷键是map集合.entrySet() 按下alt+enter 选择iterate迭代器来自动生成一个for循坏
		         * */
        for (Map.Entry<String, String> stringStringEntry : testmap.entrySet()) {
            System.out.println(stringStringEntry);
        }

		/** 第四种是只能遍历出value值
         * */
        for(String str:testmap.values()){
            System.out.println(str);
        }
    }
  • 常见的set集合遍历
package com.example.ajaxdemo.springmvc;

import java.util.*;

/**常见的set集合遍历
 * */
public class Ergodic {
    public static void main(String[] args) {
        TreeSet<String> strings = new TreeSet<>();
        strings.add("a");
        strings.add("b");
        strings.add("c");
        strings.add("d");
        strings.add("e");
        /** 第一种是for循环遍历*/
        for(String str:strings){
            System.out.println(str);
        }
		 /** 第二种是使用迭代器*/
        Iterator<String> iterator = strings.iterator();
        while(iterator.hasNext()){
            String next = iterator.next();
            System.out.println(next);
        }

 		/** 第三种是使用流的方式中forEach方法来遍历数据*/
        Stream<String> stream = strings.stream();//获取流对象
        stream.forEach(System.out::print);//调用forEach方法
        System.out.println("");
        //直接调用链式方法
        strings.stream().forEach(System.out::print);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值