map学习笔记
collection是单列集合,map是双列集合。其中包含<k,v>键值对,注意:键具有唯一性,而值不唯一。
在此列举三个读取方式:keyset,valueset,及entryset。
keyset是获取所有键的集合。valueset是获取所有值得集合。entryset是获取所有条目的集合,entry是每一个条目的意思包含其中的(键与值)。
具体用法为:
package javastudy; import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set; public class TextMap {
public static void main(String args[])
{
//建立一个hashmap数组,(注意:因为因为map类型的是键值对,且值得类型首字母要大些)
//HashMap<Float, String> hp =new HashMap<Float ,String>();
HashMap<String,String> hp =new HashMap<String ,String>();
//用put定义,映射出实际的键与值
hp.put( "010", "北京");
hp.put( "021", "上海");
hp.put( "022", "重庆");
hp.put( "023", "天津");
//遍历打印其数组
//获得所有键的集合
Set<String> sd=hp.keySet();
Iterator<String> zips= sd.iterator();
while(zips.hasNext())
{
//得到键值
String zip=zips.next();
//因为键值唯一,所以从每个键中得到值,键唯一,值不唯一。
String cityName= hp.get(zip);
System.out.println(zip+":"+cityName);
}
//values得到所有值得集合
Collection<String> cs=hp.values();
Iterator<String> it = cs.iterator();
while(it.hasNext())
{
System.out.println(it.next());
} //entrySet是打印获得所有条目,entry=一行,一个条目的意思;
Set<Entry<String, String>> se= hp.entrySet();
Iterator<Entry<String, String>> ie= se.iterator();
while(ie.hasNext())
{
//键唯一,值不唯一;getKey是得到键的集合,getValue得到所有值得集合;
Entry<String, String> es= ie.next();
System.out.println(es.getKey()+":"+es.getValue());
} } }
另外尝试利用自定义的概念建立一个比较器及其People的类的集合排序,具体为(如果有疑问参考上一章的具体介绍):
package javastudy; import java.util.Comparator;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap; public class TextTree { public static void main(String[] args) {
// TODO Auto-generated method stub
TreeMap<People,People> tm= new TreeMap<People,People>(new MyComp());
tm.put(new People("Mark",12), new People("Jine",19));
tm.put(new People("Keven",16), new People("Bob",20));
Set<Entry<People,People>> se =tm.entrySet();
Iterator<Entry<People, People>> is=se.iterator();
while(is.hasNext())
{
Entry<People, People>es=is.next();
System.out.println(es.getKey()+"\t"+es.getValue());
}
}
}
class MyComp implements Comparator<People>
{ @Override
public int compare(People o1, People o2) {
// TODO Auto-generated method stub
return o1.name.compareTo(o2.name);
} }
class People
{
String name;
int age;
People(String name,int age)
{
this.name=name;
this.age=age;
}
void show()
{
System.out.println(String.format("姓名=%s,年龄=%d", name,age));
}
@Override
public String toString() {
return "name=" + name + ", age=" + age ;
}
}
map学习笔记的更多相关文章
- Python map学习笔记
map是一个高阶用法,字面意义是映射,它的作用就是把一个数据结构映射成另外一种数据结构. map用法比较绕,最好是对基础数据结构很熟悉了再使用,比如列表,字典,序列化这些. map的基本语法如下: m ...
- Scala学习笔记之:tuple、array、Map
[TOC] 本文<快学Scala>的笔记 tuple学习笔记 tuple的定义 对偶是元组(tuple)的最简单形态--元组是不同类型的值的聚集. 元组的值是通过将单个值包含在圆括号中构成 ...
- [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- [原创]java WEB学习笔记59:Struts2学习之路---OGNL,值栈,读取对象栈中的对象的属性,读取 Context Map 里的对象的属性,调用字段和方法,数组,list,map
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- JavaSE中Map框架学习笔记
前言:最近几天都在生病,退烧之后身体虚弱.头疼.在床上躺了几天,什么事情都干不了.接下来这段时间,要好好加快进度才好. 前面用了三篇文章的篇幅学习了Collection框架的相关内容,而Map框架相对 ...
- JavaScript学习笔记(六)——Map、Set与iterable
在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...
- JavaScript学习笔记(十)——高阶函数之map,reduce,filter,sort
在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...
- Hadoop学习笔记2 - 第一和第二个Map Reduce程序
转载请标注原链接http://www.cnblogs.com/xczyd/p/8608906.html 在Hdfs学习笔记1 - 使用Java API访问远程hdfs集群中,我们已经可以完成了访问hd ...
- Go语言学习笔记十三: Map集合
Go语言学习笔记十三: Map集合 Map在每种语言中基本都有,Java中是属于集合类Map,其包括HashMap, TreeMap等.而Python语言直接就属于一种类型,写法上比Java还简单. ...
随机推荐
- B/S和C/S的区别(转)
一.什么是CS和BS结构? 1.C/S又称Client/Server或客户/服务器模式.服务器通常采用高性能的PC.工作站或小型机,并采用大型数据库系统,如Oracle.Sybase.Informix ...
- spring mvc绑定复杂对象报错“Could not instantiate property type [com.ld.net.spider.pojo.WorkNode] to auto-grow nested property path: java.lang.InstantiationException: com.ld.net.spider.pojo.WorkNode”
解决方法之一: 1.确保所有的Pojo都包含了默认的构造器:
- WCF Service部署在IIS上
环境vs2010,WCF应用程序.如何将WCF部署在IIS上. 第一步:右键点击项目,选择生成部署包. 第二步:在你项目所在的文件目录下找到Package文件夹,这就是我们的部署包所在的地方.在这个p ...
- 实验12:Problem H: 整型数组运算符重载
Home Web Board ProblemSet Standing Status Statistics Problem H: 整型数组运算符重载 Problem H: 整型数组运算符重载 Tim ...
- SharePoint 2013 - REST API about Content
1. 获取所有子站点信息(Sub Site): var subSitesInfo = "{0}/_api/Web/WebInfos?$orderby=Title desc"; // ...
- 刚刚结束了公司EP流程,开始KMS项目开发了
刚刚结束了公司EP流程,开始KMS项目开发了 EP流程:AGpoint+MOSS+C# KMS:MOSS上的文档管理系统
- git学习笔记2
工作区和暂存区 Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的github文件 ...
- Android环境的搭建
一.Java环境的配置(以JDK1.7为例) 在环境变量下查看,查看是否存在JAVA_HOME,没有的话新建一个 JAVA_HOME:java安装目录下jdk的安装目录 Path:jdk目录下面的bi ...
- 【原】IOS中KVO模式的解析与应用
最近老翁在项目中多处用到了KVO,深感这种模式的好处.现总结如下: 一.概述 KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知.简单 ...
- OC中的复合
#import <Foundation/Foundation.h> #import "Car.h" int main(int argc, const char * ar ...