java - 如何通过 hashmap 进行搜索并打印低于 X 的值?

标签 java

我有一个方法,应该搜索 HashMap 并打印低于 X 的值(X 是用户输入)。

执行此操作的最佳方法是什么?

这是针对 Java 的。我只允许使用 HashMap ,不能使用其他任何东西。

编辑:

我尝试通过获取键集处的值来迭代所有值,但没有打印任何内容。


public class price() {

HashMap<Integer, Integer> price = new HashMap<>(); //Hashmap.
price.put(1, 500);
price.put(2, 1000);
price.put(3, 1500); //etc

public void findLowerPrice(int x) {
        for (int y : price.values()) {
            if (x > y) {
                System.out.print(y + " Price: " + y);
                System.out.println("");
            }
        }
   }
}

x 是用户输入,但假设用户输入 1000。 该方法应打印键 1 和 2,以及它们各自的值 500 和 1000。

最佳答案

使用 Java 8 流:

prices.entrySet()
  .stream()
  .filter(entry -> entry.getKey() < x)
  .forEach(entry -> System.out.printf("%d price: %d\n", entry.getKey(), entry.getValue());

关于java - 如何通过 hashmap 进行搜索并打印低于 X 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58472151/

相关文章:

java - (可能)非常简单的Java多线程问题

java - @JsonUnwrapped 禁用 Jackson 的 fail_on_unknown 属性

java - getWaitQueueLength 抛出 IllegalArgumentException : Not owner

Java - 打印分割字符串的几个不同部分

java - 屏幕关闭/打开后,同步(和 volatile )无法按预期工作

java - 在 Spring Integration 中定制变压器

java - Hibernate Criteria 通过获取错误进行分组

java - 从java 8中的字符串列表生成自然id作为键和字符串作为值的映射

java - 尝试使用非静态方法引用非静态字段会导致错误

java - Hibernate 错误 : org. hibernate.NonUniqueObjectException:具有相同标识符值的不同对象已与 session 相关联