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 ...
随机推荐
- EasyUI datagrid 在ie8和360兼容模式兼容性问题
问题:easyui中的datagrid在ie8和360兼容模式下显示不出来. 答案:不是easyui的问题.是引入的jquery版本问题.jquery-1.5.1抛异常,这个版本是mvc3自带的jqu ...
- PHP 多个文件上传
关键函数: is_uploaded_file():用于判断指定的文件是否是通过 HTTP POST 上传的,如果是则返回 TRUE.用于防止潜在的攻击者对原本不能通过脚本交互的文件进行非法管理,这可以 ...
- a标签属性说明
语法 <a target="value" href="url" > varlue:值. _blank:在新窗口中打开被链接文档. _self:默认. ...
- PHP--进行模块化设计
PHP--进行模块化设计 [来源] 达内 [编辑] 达内 [时间]2012-10-30 导航模块可以简单列为一个关于三级页面链接的HTML文件.通常你可以通过用另一种颜色来标明对当前区域的链 ...
- android studio 出错
http://blog.csdn.net/dhx20022889/article/details/44919905
- cookie函数
function getcookie(){ var cookie={}; var all=document.cookie; if(all===""){ alert(2); retu ...
- 行高不设单位的好处 line-height:1.8
今天无意间看了到了line-height:1.8 感觉挺有意思的,然后翻了下行高的知识,发现还挺有文章的,不妨温故而知新. 先回顾下:顶线.中线.基线.底线 vertical-align是元素的垂直对 ...
- Eclipse插件项目 引用其他类库的方法(jar)
这两天搞了个Eclipse插件项目,用来监测ios.android设备和电脑的连接,安装apk/ipa到对应设备等等功能. 遇到了build path下的library引入编译正常,运行时报Class ...
- SpringMVC接收checkbox传值
Controller方法形参接收checkbox的值,既可以用String,也可以用String[]. 字符串数组接收的测试代码如下: @Controller @RequestMapping(&quo ...
- mysql基本sql语句大全(基础用语篇)
1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份 ...