如何在Java的HashMap中打印单个键值对?

时间:2019-07-12 07:46:09

标签: java dictionary input maps output

是否可以这样做?如果是,那么所需的语法/方法是什么?

我通过使用尝试过

System.out.println(key+"="+HM.get(key));

但是它以这种格式打印

key =值

我需要

key = value

(由于在HackerRank中输出格式)

while(sc.hasNextLine()) 
{
  String s=sc.nextLine();
  if(a.containsKey(s))
  {
      System.out.println(s+"="+a.get(s));
  }
  else
  System.out.println("Not found");
}

编辑1: 我看到了给出的解决方案,该人员使用了以下代码,

   while(scan.hasNext()){
            String s = scan.next();
            Integer phoneNumber = phoneBook.get(s);
            System.out.println(
                (phoneNumber != null) 
                ? s + "=" + phoneNumber 
                : "Not found"
            );
        }

现在,为什么答案中没有空格?

我看到的唯一可见变化是此人使用的是对象而不是原始数据类型。

此外,此人在接受电话号码时使用int而不是字符串,我最初是这样做的,但它给了我InputMismatchException。

2 个答案:

答案 0 :(得分:0)

如果有任何键或值可用,Whois中没有可用的方法从地图获取Entity。如果有帮助,请尝试以下代码:

rawTimestamp

答案 1 :(得分:0)

您可以使用entrySet()(请参阅entrySet)遍历地图。

然后,您将可以访问Map Entry,其中包含方法getValue()getKey()来检索映射对象的值和键。

entrySet()返回一个Set,并且Set扩展了Collection,它提供了stream()方法,因此您可以使用流来循环和处理您的entrySet:

map
    .entrySet() // get a Set of Entries of your map
    .stream() // get Set as Stream
    .forEach( // loop over Set
        entry -> // lambda as looping over set entries implicitly returns an Entry
            System.out.println(
                entry.getKey() // get the key
                + "="
                + entry.getValue() // get the value
    );

如果需要,您可以添加.filter()以仅处理流中符合条件的元素。

工作示例 here

import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        Map<String, String> myMap = new HashMap<String, String>() {
            private static final long serialVersionUID = 1L;
            {
                for (int i = 1 ; i < 10 ; i++) {
                    put("key"+i, "value"+i);
                }
            }
        };
        myMap.entrySet().stream().forEach(
            entry -> System.out.println(entry.getKey() + "=" + entry.getValue())
        );
    }
}

输出:

key1=value1
key2=value2
key5=value5
key6=value6
key3=value3
key4=value4
key9=value9
key7=value7
key8=value8