`

今天帮人解决的一个Map的问题,不过有得优化,暂时贴在这里先

    博客分类:
  • java
阅读更多
/*
 * 问题: 
 * 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();
		}
	}

}
分享到:
评论

相关推荐

    jackson json 转 map 数值科学计数法的问题解决.docx

    下面是一个示例代码,演示如何使用 ObjectMapper 将 JSON 字符串转换为 Map,同时启用 USE_BIG_DECIMAL_FOR_FLOATS 选项以解决科学计数法的问题: ```java ObjectMapper mapper = new ObjectMapper(); mapper....

    map(解决地图找房和海量点卡顿).zip

    map(解决地图找房和海量点卡顿).zip

    计算部分的数量树- 了解树的表示方法Map容器- 了解如何日用标准库中的map容器以及迭代器递归- 了解如何构造一个递归的解决方案去解决一个问题

    计算部分的数量 前提, 目标, 结果 前提: 学生需要掌握以下机能 • 树- 了解树的表示方法 • Map容器- 了解如何日用标准库中的map容器以及迭代器 • 递归- 了解如何构造一个递归的解决方案去解决一个问题

    uni-app的map层级问题封装.zip

    uni-app的map层级问题封装.zip

    在Java 8中将List转换为Map对象方法

    但是,如果List中有重复的empId,映射到Map时,Key不能重复的,这时我们可以使用BinaryOperator方法来解决这个问题: Map, String&gt; mapOfEmployees = employees.stream().collect( Collectors.toMap( e -&gt; e....

    一个很简单的androidmap源码

    总之,这个"一个很简单的androidmap源码"项目为初学者提供了一个基础的平台,可以用来学习如何在Android应用中集成和使用Google Maps服务。通过深入研究并理解源码,开发者可以掌握地图功能的实现细节,从而在实际...

    查询返回Map

    在IT行业中,"查询返回Map"是一个常见的编程概念,尤其在Web开发中,涉及到服务器端数据处理和前端展示。在这个场景下,我们讨论的是如何从数据库查询数据,将结果封装成Map对象,然后通过JSP(JavaServer Pages)...

    通过MAP推理解决约束组合优化问题而无高阶惩罚

    通过MAP推理解决约束组合优化问题而无高阶惩罚

    另一种遍历Map的方式

    Map是一种常用的数据结构,在Java中有多种遍历Map的方式。今天,我们来讨论一种遍历Map的方式,即使用Map.Entry和Map.entrySet()。 Map.Entry是什么? ---------------- Map.Entry是一个接口,表示一个映射项,...

    IAR MAP文件分析

    在实际应用中,MAP文件可以帮助我们了解程序在内存中的分布情况,查找内存泄露和优化程序的性能。同时,MAP文件也可以帮助我们了解程序的编译过程和内存使用情况。 在编译IAR工程时,需要注意路径错误的问题。如果...

    c++实现的简易map

    vs2019 自己实现的一个简易Map(c++)。

    NAT以及MAP详解

    为了解决这个问题,可以使用NAPT(Network Address and Port Translation)和MAPT(Mapping of Addresses and Ports Translation),它们可以实现多对一的转换,并且可以解决内网无法访问同网段的其他设备的公网地址...

    map2dbg v1.3

    map2dbg v1.3是为了解决这一问题而诞生的,它实现了.map到.dbg的转换功能。用户只需运行该工具,并指定待转换的.map文件,map2dbg就会自动生成对应的.dbg文件。这样,开发者就可以在WinDBG中利用.dbg文件进行深入的...

    Unity3D里Cubemap 的6面贴图制作

    2、Ctrl + R (刷新),菜单项会多出一个"Custom/Render Cubemap"菜单项 3、点击Render Cubemap会打开会话框,拖动对象到“Renderer From Position” 4、点击“Render”,Ctrl + R (刷新) 会在项目视图里生成文件夹:...

    shadowmap阴影实现

    在实际应用中,阴影映射可能会遇到诸如分辨率限制、浮点精度问题、边缘锯齿等挑战,解决这些问题通常需要使用技术如PCF(Percentage-Closer Filtering)、VSM(Variational Shadow Maps)或者ESM(Exponential ...

    好几天解决不了的问题源代码

    在这个特定的例子中,"好几天解决不了的问题源代码"可能涉及到一个开发者在尝试理解和修复一个复杂的代码问题,这可能是一个涉及`Map`, `Map.Entry`, 和 `Iterator`的Java编程难题。接下来,我们将深入探讨这三个...

    hadoop map reduce hbase 一人一档

    人脸识别,车辆识别,一人一档,一车一档 hadoop map reduce hbase

    基于MapObject的GIS程序

    MapObject是ESRI公司开发的一款GIS(地理信息系统)组件,它为开发者提供了在应用程序中集成地图和地理数据的能力。基于MapObject的GIS程序设计主要涉及以下几个核心知识点: 1. **地图对象模型**:MapObject的核心...

    mapserver-5.4.0

    MapServer 5.4.0是该软件的一个特定版本,它提供了丰富的功能和改进,使得开发者能够创建动态、交互式的地图应用程序。在这个版本中,用户可以利用GIS数据来构建Web地图服务,供网络上的客户端应用程序访问。 Map...

    JavaScript实现Array(数组)和Map

    接着,Map是ES6中新增的一种数据结构,它解决了数组不能以任意对象作为键的问题。在Map中,任何值(对象或者原始类型)都可以作为键或值。与数组不同,Map的键是有序的,并且提供了几个方便的方法,如set(key, value...

Global site tag (gtag.js) - Google Analytics