今天上午去参加面试的java题目, 这个该怎么做?
登录 | 论坛导航 -> 华新鲜事 -> 创业求职 | 本帖共有 52 楼,当前显示第 8 楼 : 从楼主开始阅读 : 本帖树形列表 : 返回上一页
作者:west666 (等级:2 - 初出茅庐,发帖:146) 发表:2017-12-21 16:36:54  8楼 
就是简单的HashMap然后loop一次,loop的时候把国家名字保存在一个临时的HashSet里面。 每到新一行数据都检查已经保存的HashSet里面有没有这个国家,有的话删除这个元素,没有的话加到HashSet里面。HashMap是有remove方法的,所以很容易实现,注意iterator不要乱就行了。
不能用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<String , String> hmOriginal = new LinkedHashMap<String , String>();
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<String , String> hmUpdated = new LinkedHashMap<String , String>();

for (Map.Entry<String, String> 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 );

}

}
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表

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



请登录后回复:帐号   密码