/*
* 问题:
* 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....
通过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),它们可以实现多对一的转换,并且可以解决内网无法访问同网段的其他设备的公网地址...
2、Ctrl + R (刷新),菜单项会多出一个"Custom/Render Cubemap"菜单项 3、点击Render Cubemap会打开会话框,拖动对象到“Renderer From Position” 4、点击“Render”,Ctrl + R (刷新) 会在项目视图里生成文件夹:...
人脸识别,车辆识别,一人一档,一车一档 hadoop map reduce hbase
AlphaPose是一个精确的多人姿势估计器,它是第一个在COCO数据集上实现70+ mAP(75 mAP)和在MPII数据集上实现80+ mAP(82.1 mAP)的开源系统。为了跨帧匹配与同一个人对应的姿势,我们还提供了一个高效的在线姿势...
Python的`map()`函数是一个非常实用的内置高阶函数,它的主要作用是对一个或多个序列(通常是列表)的每个元素应用指定的函数,并返回一个新的列表,包含应用函数后的结果。这个函数非常适合在函数式编程中使用,...
小程序仿摩拜单车功能,解决map层级过高的问题技巧,markers controls
传统的转换方式如使用BeanUtils或手动编写转换方法各有优缺点,但MapStruct提供了一种更加优雅的解决方案。 1. **JavaBean转换问题** - 在传统的Java开发中,JavaBean之间的转换通常需要手动编写`set`和`get`方法...
在这个程序中我们首先建立一个map,string>类型的对应表用来储存俚语的对应单词。然后随意给出了一些包含上述俚语的string数组,来对其进行计算各俚语出现次数的操作。我们通过建立了一个map,int>的对应来储存不同...
通过深入分析多个传统的变化检测方法的特点,利用各方法的互补性,提出了利用Laplacian Eigenmap对多个方法检测结果进行降维分类的优化技术。首先把各个方法对某个像素的检测结果用向量的形式进行表示,然后利用...
MAP Elites 算法的 Python 实现(最初设计用于无约束优化),用于约束优化问题 该算法被实现为尽可能通用并适用于任何设置。主要的 MAPElites 类mapelites.py是一个抽象类,实现了算法的任何实例共有的所有基本逻辑...
"Java for循环Map集合优化实现解析" Java for循环Map集合优化实现解析是...Java for循环Map集合优化实现解析是一种高效的集合优化技术,通过使用Map集合来优化for循环的性能,减少循环次数,从而提高程序的执行效率。