输出Java映射的前几个键

输出Java映射的前几个键,java,iteration,keyset,Java,Iteration,Keyset,我想打印出Java映射的前几个键(不是值,不是所有键)。例如,如何输出前10个键?在Java 8中: map.keySet().stream().limit(10).forEach(System.out::println); 按值排序的映射不存在HashMap未排序,TreeMap仅按键排序 使用Java 8,您可以使用流来满足您的需求: map.entrySet().stream().sort(Map.Entry.comparingByValue()) .map(Map.Entry:

我想打印出Java映射的前几个键(不是值,不是所有键)。例如,如何输出前10个键?

在Java 8中:

map.keySet().stream().limit(10).forEach(System.out::println);

按值排序的
映射不存在
HashMap
未排序,
TreeMap
仅按键排序

使用Java 8,您可以使用
来满足您的需求:

map.entrySet().stream().sort(Map.Entry.comparingByValue())
    .map(Map.Entry::getKey)
    .limit(10).forEach(System.out::println);

您无法对HashMap进行排序,您的问题不清楚。您可以使用keySet()获取键,然后对它们进行排序,然后迭代前10个键并返回它们;因此,你的问题毫无意义。我知道我无法对哈希映射进行排序,我不是在问如何对哈希映射进行排序。很抱歉给你带来了困惑。希望我能拿回我的声誉投票。以上评论的要点是,HashMap实际上没有任何关于哪些键是“第一键”的概念,因为它们可以是任何顺序,并且顺序可以改变。