Map的基本用法(Java)
- package home.collection.arr;
- import java.awt.Window.Type;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.Comparator;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import java.util.Map.Entry;
- public class HomeworkMap2 {
- public static void main(String[] args) {
- // 创建Map
- Map<Integer,Student> map = new HashMap<Integer,Student>();
- createStudets(20, map);
- // System.out.println(map);
- List<Integer> scoreList = new ArrayList<Integer>();
- getAllScore(scoreList, map,1,null);
- // 排序
- sortByScore(scoreList);
- // 取前三位
- int[] maxScores = new int[3];
- for (int i = 0; i < maxScores.length; i++) {
- if (scoreList.get(i)>0) {
- maxScores[i]=scoreList.get(i);
- // System.out.println(maxScores[i]);
- }
- }
- getAllScore(scoreList, map, 2, maxScores);
- }
- /**
- * @param count 创建学生的个数
- * @param map 存放学生的Map
- */
- public static void createStudets(int count,Map<Integer,Student> map){
- // 创建一部分students
- for (int i = 0; i < count; i++) {
- Student stu = new Student("lf"+i, 75+i);
- // student被添加到map中
- map.put(stu.getNumber(), stu);
- }
- }
- /**
- *
- * @param scoreList
- * @param map
- * @param method
- * @param maxScores
- */
- public static void getAllScore(List<Integer> scoreList,Map<Integer,Student> map,int method,int[] maxScores) {
- // 从Map取出score放进newList
- // 遍历
- // 取出Map中的键值对
- Set<Entry<Integer, Student>> entry = map.entrySet();
- // System.out.println(entry);
- // 遍历set(就是遍历Map)
- Iterator<Entry<Integer, Student>> it = entry.iterator();
- while (it.hasNext()) {
- // Entry key-value
- Entry<Integer, Student> e = it.next();
- Student s = e.getValue();
- if (method == 1) {
- scoreList.add(s.getScore());
- }else if (method == 2) {
- // 判断
- for (int i = 0; i < maxScores.length; i++) {
- if (s.getScore() == maxScores[i]) {
- System.out.println("第"+(i+1)+"名:"+s.getName()+" 分数:"+s.getScore());
- }
- }
- }
- }
- // System.out.println(scoreList);
- }
- /**
- * 排序
- */
- public static void sortByScore(List<Integer> scoreList){
- Collections.sort(scoreList, new Comparator<Integer>() {
- public int compare(Integer num1,Integer num2) {
- return num2-num1;
- }
- });
- }
- }
Map的基本用法(Java)的更多相关文章
- HDU1004 Let the Balloon Rise(map的简单用法)
Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- STL——map/unordered_map基础用法
map /multimap map是STL里重要容器之一. 它的特性总结来讲就是:所有元素都会根据元素的键值key自动排序(也可根据自定义的仿函数进行自定义排序),其中的每个元素都是<key, ...
- JOptionPane用法--java
JOptionPane用法--java JOptionPane的简单应用: 1.首先引入包: import javax.swing.JOptionPane; 2.添加如下代码: Object[] op ...
- map的详细用法
map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时 ...
- ES6中map和set用法
ES6中map和set用法 --转载自廖雪峰的官方网站 一.map Map是一组键值对的结构,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Arra ...
- An internal error occurred during: "Map/Reducelocation status updater".java.lang.NullPointerException
当我们运行wordcount代码时,出现报错,如下所示: An internal error occurred during: "Map/Reducelocation status upda ...
- map的详细用法 (转
map的详细用法: map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能 力,由于这个特性,它完成有可能在我 ...
- map的常见用法
map的常见用法 map 是什么? map是一组键值对的组合,通俗理解类似一种特殊的数组,a[key]=val,只不过数组元素的下标是任意一种类型,而且数组的元素的值也是任意一种类型.有点类似pyth ...
- Java map 详解 - 用法、遍历、排序、常用API等
尊重原创: http://www.cnblogs.com/lzq198754/p/5780165.html 概要: java.util 中的集合类包含 Java 中某些最常用的类.最常用的集合类是 L ...
随机推荐
- Excel中如何在两个工作表中查找重复数据
有时我们可能会在两种工作表中查找重复记录,当数据记录很多时,就必须通过简单的方法来实现.下面小编就与大家一起分享一下查看重复记录数据的方法,希望对大家有所帮助. 方法/步骤 为了讲解的需要,小编特 ...
- Open vSwitch使用案例扩展实验
参考:Open vSwitch使用案例扩展实验 实验目的: 通过python脚本调用OpenvSwitch命令: 学习Mininet基于python脚本创建拓扑的实现: 进一步深度使用"ov ...
- 为Ubuntu Server安装gnome图形桌面环境
Ubuntu Server版默认都没有图形桌面(GUI),但是可以安装,以下共有两种安装方法. 一.安装全部Gnome桌面环境 Ubuntu系列桌面实际上有几种桌面应用程序,包括Ubuntu-desk ...
- nginx gzip 模块配置
#gzip模块设置 gzip on; #开启gzip压缩输出 gzip_min_length 1k; #最小压缩文件大小 gzip_buffers 4 16k; #压缩缓冲区 gzip_http_ve ...
- 解决ORA-00054资源正忙的问题
有时候在drop表或者其他对象的时候,会遇到ORA-00054:资源正忙,要求指定NOWAIT(中文字符集)或者ORA-00054: resource busy and acquire with NO ...
- LR调用动态链接库DLL
什么是动态库? 动态库一般又叫动态链接库(DLL),是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库. 动态链接提供了一种方法 ,使进程可以 ...
- UML学习
学习链接:http://blog.csdn.net/wangyongxia921/article/category/1293975 感谢原文作者.
- Wordpress添加关键词和描述
找到主题的header.php文件,然后在其<head>标签内加入加一下代码: 详细版 <?php $description = ''; $keywords = ''; if (is ...
- 20145211 《Java程序设计》第7周学习总结——沧海横流
教材学习内容总结 Lambda Arrays的sort()方法可以用来排序,在使用sort()时,需要操作java.util.Comparator来进行说明,这样一来,语法就显得有些冗长.在JDK8中 ...
- 说说怎么写clean code
前两天参加了公司组织的一个培训,主题是“如何写出好的代码” ,刚看到这个主题,第一反应是又不知道是哪个培训机构来忽悠钱的!老大安排了,就去听听呗. 说实在的,课程内容没有什么新鲜的东西,就是讲讲如何发 ...