/*
* 问题:
* HashMap<String, Integer> h = new HashMap<String, Integer>();
* h.put("李",4000);
* h.put("张", 1000);
* h.put("尹", 1000);
* h.put("廖", 5000);
*
* 用JAVA写一个算法,要求找出工资相等的人的名字?(不考虑重复)
*/
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class TestMap {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("李", 4000);
map.put("张", 1000);
map.put("尹", 1000);
map.put("廖", 5000);
Set<String> keys = map.keySet();
// 工资类型,用set是因为添加到一样的工资的话,它会覆盖掉以前的
Set<String> salarys = new HashSet<String>();
// listTemp存放String[]{姓名,工资}
List<String[]> listTemp = new ArrayList<String[]>();
String[] strTemp;// {姓名,工资}
for (String key : keys) {
strTemp = new String[2];
strTemp[0] = key;
strTemp[1] = map.get(key) + "";
salarys.add(strTemp[1]);
listTemp.add(strTemp);
}
//工资,姓名[]
Map<String, List<String>> mapTemp = new HashMap<String, List<String>>();
List<String> names=null;//存放工资相同的人的名字
for (String salary:salarys ) {
names=new ArrayList<String>();
for (int i = 0; i < listTemp.size(); i++) {
if(listTemp.get(i)[1].equals(salary)){
names.add(listTemp.get(i)[0]);
}
}
mapTemp.put(salary, names);
}
System.out.println("****下面是测试*****");
Set<String> testMapTemp = mapTemp.keySet();
for(String temp:testMapTemp){
System.out.println("工资为 "+temp+" 有");
for(String name:mapTemp.get(temp)){
System.out.print(name+" ");
}
System.out.println();
}
}
}
分享到:
相关推荐
下面是一个示例代码,演示如何使用 ObjectMapper 将 JSON 字符串转换为 Map,同时启用 USE_BIG_DECIMAL_FOR_FLOATS 选项以解决科学计数法的问题: ```java ObjectMapper mapper = new ObjectMapper(); mapper....
map(解决地图找房和海量点卡顿).zip
计算部分的数量 前提, 目标, 结果 前提: 学生需要掌握以下机能 • 树- 了解树的表示方法 • Map容器- 了解如何日用标准库中的map容器以及迭代器 • 递归- 了解如何构造一个递归的解决方案去解决一个问题
uni-app的map层级问题封装.zip
但是,如果List中有重复的empId,映射到Map时,Key不能重复的,这时我们可以使用BinaryOperator方法来解决这个问题: Map, String> mapOfEmployees = employees.stream().collect( Collectors.toMap( e -> e....
总之,这个"一个很简单的androidmap源码"项目为初学者提供了一个基础的平台,可以用来学习如何在Android应用中集成和使用Google Maps服务。通过深入研究并理解源码,开发者可以掌握地图功能的实现细节,从而在实际...
在IT行业中,"查询返回Map"是一个常见的编程概念,尤其在Web开发中,涉及到服务器端数据处理和前端展示。在这个场景下,我们讨论的是如何从数据库查询数据,将结果封装成Map对象,然后通过JSP(JavaServer Pages)...
通过MAP推理解决约束组合优化问题而无高阶惩罚
Map是一种常用的数据结构,在Java中有多种遍历Map的方式。今天,我们来讨论一种遍历Map的方式,即使用Map.Entry和Map.entrySet()。 Map.Entry是什么? ---------------- Map.Entry是一个接口,表示一个映射项,...
在实际应用中,MAP文件可以帮助我们了解程序在内存中的分布情况,查找内存泄露和优化程序的性能。同时,MAP文件也可以帮助我们了解程序的编译过程和内存使用情况。 在编译IAR工程时,需要注意路径错误的问题。如果...
vs2019 自己实现的一个简易Map(c++)。
为了解决这个问题,可以使用NAPT(Network Address and Port Translation)和MAPT(Mapping of Addresses and Ports Translation),它们可以实现多对一的转换,并且可以解决内网无法访问同网段的其他设备的公网地址...
map2dbg v1.3是为了解决这一问题而诞生的,它实现了.map到.dbg的转换功能。用户只需运行该工具,并指定待转换的.map文件,map2dbg就会自动生成对应的.dbg文件。这样,开发者就可以在WinDBG中利用.dbg文件进行深入的...
2、Ctrl + R (刷新),菜单项会多出一个"Custom/Render Cubemap"菜单项 3、点击Render Cubemap会打开会话框,拖动对象到“Renderer From Position” 4、点击“Render”,Ctrl + R (刷新) 会在项目视图里生成文件夹:...
在实际应用中,阴影映射可能会遇到诸如分辨率限制、浮点精度问题、边缘锯齿等挑战,解决这些问题通常需要使用技术如PCF(Percentage-Closer Filtering)、VSM(Variational Shadow Maps)或者ESM(Exponential ...
在这个特定的例子中,"好几天解决不了的问题源代码"可能涉及到一个开发者在尝试理解和修复一个复杂的代码问题,这可能是一个涉及`Map`, `Map.Entry`, 和 `Iterator`的Java编程难题。接下来,我们将深入探讨这三个...
人脸识别,车辆识别,一人一档,一车一档 hadoop map reduce hbase
MapObject是ESRI公司开发的一款GIS(地理信息系统)组件,它为开发者提供了在应用程序中集成地图和地理数据的能力。基于MapObject的GIS程序设计主要涉及以下几个核心知识点: 1. **地图对象模型**:MapObject的核心...
MapServer 5.4.0是该软件的一个特定版本,它提供了丰富的功能和改进,使得开发者能够创建动态、交互式的地图应用程序。在这个版本中,用户可以利用GIS数据来构建Web地图服务,供网络上的客户端应用程序访问。 Map...
接着,Map是ES6中新增的一种数据结构,它解决了数组不能以任意对象作为键的问题。在Map中,任何值(对象或者原始类型)都可以作为键或值。与数组不同,Map的键是有序的,并且提供了几个方便的方法,如set(key, value...