今天上午去参加面试的java题目, 这个该怎么做?
登录 | 论坛导航 -> 华新鲜事 -> 创业求职 | 本帖共有 52 楼,当前显示第 12 楼 : 从楼主开始阅读 : 本帖树形列表 : 返回上一页
作者:west666 (等级:2 - 初出茅庐,发帖:146) 发表:2017-12-21 16:48:40  12楼 
不能用Hashmap一定要用LinkedHashMap因为是有序的 import java.util.LinkedHashMap; import java.util.Map; public class TestGeneral { public static void main(String[] args) { //store orignal User and Country Map hmOriginal = new LinkedHashMap(); hmOriginal.put("John", "Canada"); hmOriginal.put("Bob", "USA"); hmOriginal.put("Tom", "USA"); hmOriginal.put("Alice", "Canada"); hmOriginal.put("Alan", "Canada"); hmOriginal.put("Peter", "UK"); //store Updated data Map hmUpdated = new LinkedHashMap(); for (Map.Entry entry : hmOriginal.entrySet()) { String sName = entry.getKey(); String sCountry = entry.getValue(); if( !hmUpdated.containsValue(sCountry)) { hmUpdated.put(sName, sCountry); } } System.out.println("Original data is :"+hmOriginal ); System.out.println("Updated data is :"+hmUpdated ); } }
HashMap vs. LinkedHashMap

使用 LinkedHashMap,输出是:(正确)
Original data is :{John=Canada, Bob=USA, Tom=USA, Alice=Canada, Alan=Canada, Peter=UK}
Updated data is :{John=Canada, Bob=USA, Peter=UK}

使用 HashMap,输出是:(错误)
Original data is :{Tom=USA, Bob=USA, Alice=Canada, Alan=Canada, John=Canada, Peter=UK}
Updated data is :{Tom=USA, Alice=Canada, Peter=UK}
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表

本帖共有 52 楼,当前显示第 12 楼,本文还有 N-1 层楼,要不你试试看:点击此处阅读更多 >>



请登录后回复:帐号   密码