如何打印LinkedHashMap中的内容?附相关Java代码示例
嘿,我来帮你搞定打印LinkedHashMap里总统信息的事儿!你的presidents集合存着总统编号和对应的President对象,下面给你几种实用的打印方法,适配你的代码场景:
打印LinkedHashMap内容的几种方法
1. 遍历EntrySet(最推荐,同时拿键和值)
这种方式能直接获取到每个键值对的编号(key)和总统对象(value),是最常用的遍历方式:
// 把这段代码放在你需要打印的位置,比如addPresident之后 for (Map.Entry<String, President> entry : presidents.entrySet()) { String presidentNumber = entry.getKey(); President president = entry.getValue(); // 这里假设你的President类有getFirstName()和getLastName()方法,根据实际属性调整 System.out.printf("总统编号:%s,姓名:%s %s%n", presidentNumber, president.getFirstName(), president.getLastName()); }
2. 遍历KeySet,通过键取值
如果你想先拿到所有总统编号,再逐个获取对应的对象,可以用这种方式:
for (String number : presidents.keySet()) { President p = presidents.get(number); System.out.println("编号:" + number + " | 总统:" + p.getFirstName() + " " + p.getLastName()); }
3. Java 8+ 简化写法:Lambda forEach
如果你的项目用的是Java 8及以上版本,用Lambda表达式能让代码更简洁:
presidents.forEach((number, president) -> { System.out.println(String.format("编号[%s]:%s %s", number, president.getFirstName(), president.getLastName())); });
额外小技巧:重写toString()快速打印对象
如果你想直接打印整个President对象的信息,可以在President类里重写toString()方法,比如:
// 在President类中添加这段代码 @Override public String toString() { return "President{" + "姓氏='" + lastName + '\'' + ", 名字='" + firstName + '\'' + '}'; }
之后你就可以直接打印集合里的value,或者整个键值对:
// 打印所有总统对象 for (President president : presidents.values()) { System.out.println(president); // 会自动调用重写后的toString() }
内容的提问来源于stack exchange,提问作者Byron R. Boydstun Jr.
相关产品推荐
相关产品推荐

