每天睡前30分钟阅读Day5_Map中全部Key值,全部Value值获取方式

如何获取map中全部key值,全部value值,以及同时获取全部key和value值?

1. 获取map中的全部键值(keySet方法),输出采用lambda表达式
Map<String, Object> attrMap = Files.readAttributes(path, "*", LinkOption.NOFOLLOW_LINKS);
        //获取map中的全部键值
Set<String> keySet = attrMap.keySet();
keySet.forEach(key -> System.out.println(key));
2. 获取map中的全部 value值,(values 方法),输出采用foreach
Collection<Object> values = attrMap.values();
for (Object value: values) {
     System.out.println("map中的value值为:" + value);
}
3.同时获取 key值 和 value值 (entrySet 方法)。输出采用了两种方法,iterator迭代器 或者 foreach循环,lambda表达式形式
 //可以同时获取map中的 key值 和 value值
Set<Map.Entry<String, Object>> entrySet = attrMap.entrySet();
Iterator<Map.Entry<String, Object>> iterator = entrySet.iterator();
while (iterator.hasNext()) {
    Map.Entry<String, Object> next = iterator.next();
    String key = next.getKey();
    Object value = next.getValue();
    System.out.println("key值为"+ key+ "  value值为:" + value);
}
System.out.println("============采用 foreach 循环,获取键值和value值============");
entrySet.forEach(entry -> {
    String key = entry.getKey();
    Object value = entry.getValue();
    System.out.println("key值为"+ key+ "  value值为:" + value);
});
本次测试全部代码:
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.file.*;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.stream.Stream;

/**
 * @Author Janson
 * @Date 2022/4/20 9:17
 * @Version 1.0
 */
public class Day4_Files {
    public static void main(String[] args) throws Exception  {
        Path path = Paths.get("O:\\code\\BeforeSleeping30m\\testData");


        //获取文件的属性
        //{@code "*"} then all attributes are read.
        // LinkOption.NOFOLLOW_LINKS 不要跟随符号连接
        Map<String, Object> attrMap = Files.readAttributes(path, "*", LinkOption.NOFOLLOW_LINKS);
        //获取map中的全部键值
        Set<String> keySet = attrMap.keySet();
        keySet.forEach(key -> System.out.println(key));
        //获取map中的全部 value值
        Collection<Object> values = attrMap.values();
        for (Object value: values) {
            System.out.println("map中的value值为:" + value);
        }
        //可以同时获取map中的 key值 和 value值
        Set<Map.Entry<String, Object>> entrySet = attrMap.entrySet();
        Iterator<Map.Entry<String, Object>> iterator = entrySet.iterator();
        while (iterator.hasNext()) {
            Map.Entry<String, Object> next = iterator.next();
            String key = next.getKey();
            Object value = next.getValue();
            System.out.println("key值为"+ key+ "  value值为:" + value);
        }
        System.out.println("============采用 foreach 循环,获取键值和value值============");
        entrySet.forEach(entry -> {
            String key = entry.getKey();
            Object value = entry.getValue();
            System.out.println("key值为"+ key+ "  value值为:" + value);
        });

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Janson666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值