0
点赞
收藏
分享

微信扫一扫

Day5_Map中全部Key值,全部Value值获取方式

是她丫 2022-04-21 阅读 147
java

如何获取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 条评论