/*
* 问题:
* 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();
}
}
}
分享到:
相关推荐
"uni-app的map层级问题封装.zip"这个压缩包文件很可能是为了解决这一问题而提供的一个解决方案。 首先,uni-app是一个基于Vue.js的多端开发框架,它允许开发者编写一次代码,然后发布到iOS、Android、Web(H5、微信...
本文将深入探讨如何使用"map"技术来解决地图找房过程中遇到的海量数据导致的性能卡顿问题,并结合"vue"框架进行高效开发。我们将讨论以下几个关键知识点: 1. **地图API**:在Web开发中,地图功能通常通过集成地图...
下面是一个示例代码,演示如何使用 ObjectMapper 将 JSON 字符串转换为 Map,同时启用 USE_BIG_DECIMAL_FOR_FLOATS 选项以解决科学计数法的问题: ```java ObjectMapper mapper = new ObjectMapper(); mapper....
Map拆分是指将一个大Map分成多个小Map,以便在多台机器上并行处理。这种拆分方法可以显著提高计算效率,因为它允许数据在分布式系统中分散,每台机器只需处理一部分数据。例如,在Hadoop MapReduce中,InputFormat类...
针对这一问题,我们将探讨如何在微信小程序中实现“小程序仿摩拜单车”功能,并解决map组件层级过高引起的难题。 首先,我们需要了解小程序中的map组件。Map组件是微信小程序提供的一种用于展示地图的组件,它可以...
在解决约束组合优化问题时,利用最大后验概率(MAP)推理的方法已经被证明是一种有效的途径。MAP推理通常应用于图模型中,它可以通过引入额外的潜在函数来解决无约束的组合优化问题或通过为每个约束条件引入额外的...
电机效率Map是电机性能分析中的一个重要概念,它用于描述电机在不同工况下运行的效率分布情况。在本文中,我们将深入探讨电机效率Map的绘制方法、意义以及如何利用工具进行计算。 电机效率是指电机输出的机械功率与...
针对这个问题,"SourceCode解决channelmap长时间大电流问题20230129-181002.7z"提供的源代码提供了一种解决方案。该压缩包中的SourceCode文件可能包含以下关键部分: 1. **电源管理驱动程序优化**:可能涉及到对SYD...
Map文件在软件开发中起着至关重要的作用,尤其是在调试和优化程序时。它记录了编译器和链接器在生成可执行文件或库时的详细信息。这些信息包括符号表、地址分配、节区大小等,对理解代码的内存布局和执行流程非常有...
**RAMMap工具详解** RAMMap是一款强大的内存分析工具,由微软的 Sysinternals 团队开发,...了解如何正确配置和利用RAMMap的自动化功能,对于系统管理员和性能优化人员来说,是提升工作效率和解决内存相关问题的关键。
在Java编程中,Map接口是数据结构中非常重要的一个部分,它提供了键值对的存储方式,便于快速访问和操作数据。在许多实际应用中,尤其是高性能和高并发的场景,Map常被用来实现缓存技术,以提高数据读取速度和系统...
计算部分的数量 前提, 目标, 结果 前提: 学生需要掌握以下机能 • 树- 了解树的表示方法 • Map容器- 了解如何日用标准库中的map容器以及迭代器 • 递归- 了解如何构造一个递归的解决方案去解决一个问题
但是,如果List中有重复的empId,映射到Map时,Key不能重复的,这时我们可以使用BinaryOperator方法来解决这个问题: Map, String> mapOfEmployees = employees.stream().collect( Collectors.toMap( e -> e....
3. **查找优化**:为了优化顺序查找,可能有一个额外的数据结构(如平衡二叉搜索树或哈希表)作为索引,使得在已排序的数据中查找变得更快。 4. **插入和删除**:可能需要处理插入和删除元素时如何更新索引和保持...
在Linux系统中,map文件是一种重要的调试和性能分析工具,它包含了程序在内存中的映射信息。本篇文章将深入探讨map工具以及如何分析由Linux生产出的map文件,旨在帮助IT专业人士更好地理解和优化他们的系统。 首先...
这里提供一个简单的工具类`Pojo2MapUtil`: ```java import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; public class Pojo2MapUtil { public static <T> Map, Object> ...
CodeMap是一款强大的源代码管理工具,它为程序员提供了一种高效的方式来理解和导航复杂的代码库。...同时,尽管免费的license能暂时解决问题,但长期使用还是建议购买官方的正版授权,以确保持续的技术支持和服务。
GameMap是一个专门用于创建、编辑和管理游戏地图的软件或服务,它可能由gamemap官网提供,为开发者提供了丰富的地图设计功能。在游戏设计领域,一个精心设计的地图能够极大地提升玩家的游戏体验,无论是开放世界还是...
jQuery 3.2.1.min.map正是为了解决这个问题,它记录了压缩后的每个位置对应的原始代码位置,当我们在浏览器的开发者工具中开启源映射功能时,可以查看到可读性更强的源代码,便于进行调试和定位问题。 接下来,我们...
绘制电机效率MAP通常使用专业软件或者编程实现,如在描述中提到的"map.zip"可能就是一个用于绘制此类图表的程序。该程序可能包含了数据处理、曲线拟合以及二维图形绘制等功能。用户可能需要输入电机在不同工况下的...