词条 | Map |
释义 | 1 应用心理硕士◎ 应用心理硕士一、为适应中国经济社会发展对应用心理专门人才的迫切需求,完善应用心理人才培养体系,创新应用心理人才培养模式,提高应用心理人才培养质量,特设置应用心理硕士专业学位。 二、应用心理硕士专业学位的英文名称为“Master of Applied Psychology”,英文缩写为MAP。 三、应用心理硕士专业学位的培养目标是:培养具备良好的政治思想素质和职业道德素养,掌握良好心理学基础知识,具有将心理学理论和技术应用于某一相关领域以解决实际问题的能力,适应社会、经济、文化、教育、医疗、国防、体育等某一特定职业领域需要的高层次应用型心理学专门人才。 四、应用心理硕士的课程设置要充分反映应用心理职业领域对专门人才的知识与素质要求,注重实际操作能力的培养。教学方法重视运用案例分析、现场研究、模拟训练等方法。 五、应用心理硕士的培养过程须突出应用心理实践导向,加强实践教学,实践教学时间不少于半年。 六、应用心理硕士专任教师须具有较强的专业实践能力和教育教学水平。重视吸收来自应用心理实践领域的专业人员承担专业课程教学,构建“双师型”的师资结构。 七、学位论文须与实践紧密结合,体现学生运用应用心理及相关学科理论、知识和方法分析、解决工程应用心理实际问题的能力。论文类型可是应用心理学相关的理论研究、实务研究、政策研究、项目设计与评估、调查分析报告、个案研究等多种形式。学位论文答辩形式可多种多样,答辩成员中须有应用心理实践领域具有专业技术职务的专家。 八、修满规定学分、完成应用心理专业实习并通过论文答辩者,授予应用心理硕士专业学位。 九、积极推进应用心理硕士专业学位与心理类职业资格考试的有效衔接。 十、应用心理硕士专业学位由经国家批准的应用心理硕士专业学位研究生培养单位授予。 十一、应用心理硕士专业学位证书由国务院学位委员会办公室统一印制。 地理领域 首先,Map的三个基本特性是Map的特有属性,因而是界定Map的核心、也是鉴别有关Map概念诸家之说是否科学是否正确的试金石,凡不具备这三个特性的任何一家之言均不可信;其次,Map表示内容的范围极为广泛,既不局限于地球表面的也不局限于地球本身的万事万物,从地球表面到地面以下的各个地层,从地面以上的各个大气层到宇宙间的月球、火星乃至太阳系、银河系等星球上的各种自然和社会现象都是Map表示的对象,所制出的图皆谓之Map;再则,Map是各种制图对象缩小若干倍后表示在平面上的图像,若不是表示在平面上的,则或为地球仪或为沙盘地形模型,至于Map信息以数字形式贮存在磁带、磁盘等介质上,这仅是过渡性的,一旦进入实用时,它最终还是以图形和平面图纸或其它介质出现的。 ◎ 教育应用心理硕士(英文名称为“Master of Applied Psychology”,英文缩写为MAP)的培养目标是:培养具备良好的政治思想素质和职业道德素养,掌握良好心理学基础知识,具有将心理学理论和技术应用于某一相关领域以解决实际问题的能力,适应社会、经济、文化、教育、医疗、国防、体育等某一特定职业领域需要的高层次应用型心理学专门人才。 2 无线应用开发中间件平台MAP(Mobile Application Platform)移动应用中间件是专门为传统非无线网络应用开发商量身定做的无线应用开发中间件平台。无需专门学习不同平台的移动应用开发技能,通过MAP,传统网络应用开发人员即能够将传统信息系统扩展到Windows mobile、J2ME、Symbian和Android等无线终端。除此之外,MAP还可帮助用户在线配置和管理部署在无线终端的移动应用。 ◎ 结构组成(1)终端 移动终端的动态自适应通过以下能力实现:移动终端的环境感知能力;本地功能执行能力以及服务发现能力;远程功能的调用能力;应有表现在不同平台类型终端的适应能力。 (2)服务端 实现适应于不同终端的统一表现交互语言(Mobile User Interaction Language,MUIL),基于该语言,提供服务端的表现配置工具、控制与协同机制和数据同步模块。 (3)快速开发平台 包括Web服务资源管理器、界面配置工具和高度个性化的应用定制开发代码编辑IDE。 ◎ MAP优势(1)以智能客户端(C/S)模式实现B/S逻辑与表现; (2)快速的统一开发、统一部署; (3)应用开发难度低、效率高; (4)应用的业务逻辑修改方便快捷; (5)应用开发的分工明确,易于推广; (6)系统健壮、统一、高效。 ◎ 产品特性(1)将传统应用低成本地扩展到无线终端 传统应用开发人员无需学习针对各类移动终端平台的开发技能,仅仅通过编写简单的脚本语言,就可以利用Web Service和HTTP等形式的开发接口,将已经部署及运行的传统应用系统扩展到无线终端。 (2)在线配置与管理移动应用 与其他国内外的移动应用中间件相比,MAP的优势在于在线的应用调整与升级,即在运用部署之后也可以很方便地更新、配置和维护终端应用程序。 (3)一个应用适配于主流移动应用终端平台 针对每个不同的移动终端平台,采用不同的适配器来实现的应用逻辑的表现。当前,MUIL脚本所描述的应用适配于iphone、Pad系列、Windows Mobile、Kjava、Symbian和Android。 3 管理应用平台自动生成系统◎ 产品简介MAP是“Management Autonomy Platform”的缩写,意寓博科管理自主平台犹如地图般为企业的信息化建设引航。是上海博科资讯股份有限公司研发的管理应用平台自动生成系统 ◎ MAP研发背景介绍博科资讯耗资数亿,历经10年的研发,不断探索,不断完善,先后推出基于C/s架构的MAP1.0;基于B/S架构的MAP2.0,以及基于纯浏览器版的MAP3.0 ◎ MAP平台整体技术构架MAP平台是中国基于SOA技术架构管理软件平台的典范,其最大价值在于适应中国企业快速成长需要。MAP平台的开放构架和自主预配置保障企业业务快速发展,通过动态管理策略链帮助客户构建生态型组织架构和全生命周期系统框架,是中国第一个可成长开放架构的自主平台,在国内拥有最高端、最广泛、最成熟的客户群体。 MAP平台能够进行灵活的图形化配置,可根据业务发展随需应变。平台具有动态智能分析功能,支持工作流管理全过程,将工作流引擎纳入业务处理的核心机制,形成了自动流程的驱动。MAP平台以业务逻辑为驱动,提供了综合性的开发和应用平台,开创了全新的商业运作模式,并提出产品和服务完全分离的新型信息化运作模式。 ◎ MAP的研发历程q 1998年,与IBM建立“软件战略合作伙伴关系”,中国首款“构件化” 平台——Open平台研发成功,填补了中国同类软件空白,为国家星火计划; q 1999年,蓝色巨人IBM授予博科全球应用方案大奖,这是华人企业首次获此殊荣; q 2004年,推出基于COM+技术全球首款解析型自主平台MAP v1.0; q 2008年,发布基于J2EE/Applet体系的面向管理解析的自主平台MAP v2.0; q 2010年,发布纯浏览器版的面向管理解析的自主平台MAP v3.0 ◎ MAP技术创新1、业务解析系统 MAP平台的核心是完整定义了一种业务解析语言,从计算机技术角度看,该语言是面向管理业务的DSL(Domain-Specific Language,领域特定语言),使用该语言的目的是基于标准化的管理业务描述定义,用于开发具有丰富业务模型的企业管理应用,例如供应链管理系统SCM、供应链执行系统SCE、企业资源计划系统ERP、人力资源管理系统HR、客户关系管理系统CRM、供应商关系管理系统SRM等。 MAP平台的机制是定义→解析→运行,其过程如下图所示: 定义:或者叫描述,就是由用户的业务管理者运用平台提供的可视化配置工具,对其需要管理的业务在平台上建模,平台提供了数据字典、单据、业务流程、报表等快速配置支持。在定义过程中,用户仅需掌握基础的SQL(结构化查询语言)和平台语言要素,如界面元素、函数、操作等即可配置,而无需具备软件开发能力,包括特定的计算机语言、数据建模、库表结构设计和开发模式等专业知识。定义的成果是以XML格式文件存储。 解析:平台加载定义好的XML文件,同时进行解析处理,包括数据结构解析和匹配性检查、界面元素解析、业务逻辑解析等复杂过程,解析处理会自动产生运行平台。解析过程类似于对源代码编译生成计算机可执行代码的编译过程。 运行:就是向最终用户提供人机交互的操作环境。需要说明的是,平台保证了定义过程具有“所见即所得”的特性,运行界面和定义的完全一致。此外,平台还在运行效率和性能上做了大量优化,确保运行效率不低于直接编译的系统。 目前,从软件行业来看,大多数公司都认识到了基础业务平台的优势,也都在推进相关的模型研发,而真正成熟、满足商用标准,且摆脱了构件复用二次开发模式的平台仅有MAP。 2、解析语言构成 任何一种语言的构成至少包括基本语素和语句,与语素类似,MAP定义了如下的元素: l 原子逻辑:最小的,不可拆分的业务规则,如中间层调用、数据操作指令、界面锁定等,超过400个 l 分子操作:由原子逻辑排列组合得到,如单据保存、删除,数据筛选、排序等,可无限扩展,常用的约1000个 l 函数功能:包括科学计算和业务逻辑函数,可随时根据业务需要扩展,目前常用约800多个 l 界面元素:用户交互入口,如各种输入控件、快捷键定义等;平台无关的通用定义方式,风格统一,常用约60种通用界面元素 而从语句角度来说,MAP对于高层次的业务需求,涵盖企业管理软件开发的特定概念和抽象,由低层次的实现细节和具体事物抽象产生了如下的功能: l 数据处理:基于特定数学模型的大数据量计算过程,例如补货计算、拣货策略、储位优化、运输线路优化、运力资源优化、计费规则等;常用约20种 l 典型业务类型:管理软件中常见的业务描述的快速实现,例如字典、单据、报表、工作流、审批流等;常用约30种 MAP的解析语言定义使得平台的配置实现了“零代码”,从而使得管理信息系统真正成为企业业务管理人员可以掌握的工具,帮助他们从IT角度阐释管理的信息化实践。同时,通过博科大量的应用实践,MAP的解析不仅可以匹配中小企业应用需求的简单模型的管理业务,更可以满足类似于中石化化工销售物流调度决策一体化应用这样精细、复杂需求的管理业务,而后者过去通常是SAP的专属。 3、部署的无关性 MAP可以面向不同的运行环境产生适应不同操作平台的代码,在不改变业务定义的情况下,可以同时适用于企业内网、互联网等环境,易于部署: l 微软技术体系:可以基于COM+ 或 .Net l J2EE:可以基于Applet或DHTML l 数据库无关性:可以支持Oracle、DB2、SQL Server、MySQL等主流关系型数据库 l 硬件平台及操作系统无关性:可以支持Windows、Linux、Unix(AIX、HP-UX、...)各类流行的操作系统 l 应用服务器无关性:用户可以在Weblogic、Websphere、JBoss、Tomcat等自主选择 ◎ MAP的应用创新1、多领域一体化产品模式 如图所示 ,博科MAP基于统一平台,可以提供物流供应链、ERP、集团财务、全面预算、CRM等多领域的应用产品,改变了目前ERP、物流、CRM等各领域软件供应商各自独立,用户还需重新选择软件供应商和实施时需解决多系统间数据与应用整合、集成问题的市场现状。也就是说,MAP所面向的市场,并不是单一的物流供应链或者ERP或者CRM板块,而是复合的、多元化的,可以从用户的单一象限的应用拓展到全面应用,真正实现的老客户的不断升级和拓展,从而带动博科市场规模的几何级数增量。 另一方面,由于MAP的配置文件解析、运行体系,也能够支持合作伙伴(代理商、增值服务伙伴)的细分行业模式成功,并使得合作伙伴摆脱自身技术研发的规模投入限制,而注重行业解决方案的制定和实施,获得更加宽广的推广应用收益,为博科带来稳固的渠道伙伴资源。 2、可视化快速原型法实施模式 MAP实施方法可以归结为可视化快速原型法,该方法具有以下特点: l 实施周期缩短:根据常规项目经验,0.5月项目准备,1~1.5个月原型配置交付、1个月由用户对原型验证并即时修改和完善、1个月进行压力测试和性能优化然后上线。整个实施过程可以控制在3~4个月内,较现在的源代码开发或构件复用技术实施效率提升了5~10倍。 l 增强了用户体验:快速原型交付让用户更加紧密的参与实施过程,在需求阶段就可以根据用户业务描述快速配置原型,大幅度减少文字记录易产生的需求理解差异;而通过原型的实际验证,可以帮助用户对软件系统的功能性、行业性、易用性和习惯性等有更深的把握。 3、渐进螺旋式交付模式 博科在MAP技术的支持下,借鉴企业管理螺旋式上升的理念基础,首创了螺旋式交付的模式。该模式的核心思想是成功的交付并非只是上线时点的成功,而是确保3~5年内信息系统的稳健应用。 而在首次上线交付成功后,系统面临的主要有: l 日常维护:对于系统中交付后发现的Bug或问题,及时更新解决,维护系统安全、稳定的运行。 l 系统升级:主要是应用深度上的变化,涉及业务流程的新增或修改、业务表单及报表的新增或修改等。 l 系统扩展:主要是应用广度上的变化,涉及业务模块的新增。 博科通过交付过程中的知识转移,帮助用户培养既懂企业业务管理有懂平台业务配置的复合型系统管理和维护人员,使得交付后,企业可以自主维护、自主升级、自主扩展。即使企业从专业化角度,将这些服务外包,也能够准确估算工作量和投入成本,不会有“价格黑洞”之忧。 4、低成本知识转移模式 由于MAP采用了面向业务的解析语言,易于为企业业务人员理解并掌握,新接触人员仅需培训3~5天即能上手,同时,MAP的大量配置实例均以XML文件单独存储,也有利于人员对于业务和业务逻辑配置实现的理解和模仿、复用。因此,知识转移较开发模式的系统具有更短的周期合更低的成本。 MAP的知识转移包括两个层面: l 向用户的知识转移:通过配置的学习,可以让客户更深入理解业务的软件实现模式,在处理维护、升级和扩展上具有更强的优势; l 向其他软件商的知识转移:MAP面向不同行业应用解决方案的核心是一套XML文件,这些文件只要被平台加载、解析就会生成看得见、摸得着、可实际操控的运行系统,而不是空泛的文档描述,因此,其他软件商有MAP平台后,有一套配置文件就有一套特定行业应用的解决方案了。 5、规模化个性交付的SaaS模式 SaaS模式是运营商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房、招聘IT人员,即可通过互联网使用信息系统。由于SaaS应用将通常的应用软件许可费用、软件维护费用以及技术支持费用,统一为每个用户的月度租用费,又无需投入服务器等硬件资源和维护,因此一经推出,就受到广大中小型企业的极大关注,视SaaS模式为采用先进技术实施信息化的最好途径。 然而,SaaS模式目前仅仅在网站、邮箱、网店和小型CRM等很窄的领域得到一定运用,对于企业管理复杂业务如ERP、物流供应链等领域还没有形成产业规模,究其原因,最大因素在于复杂业务管理必须做到个性化交付以满足特定企业的应用需求,而面对无数个企业的大规模、个性化、低成本交付就成为SaaS模式实现的“瓶颈”。 借助于博科MAP“管理解析、自主配置、零代码”的技术优势,在浙江物流电子枢纽工程中, 博科不仅提供了TMS的标准版用以满足26万家物流企业中3000余家规模化企业,还提供了SaaS模式以满足近26万家的小型企业的应用。目前,博科、浙江运管局和浙江电信已经启动将该SaaS应用移植到电信服务平台并借助于电信运营商进行大规模推广的工作。而TMS的SaaS模式仅仅是MAP的一次尝试,未来具备针对SaaS模式更成熟技术的MAP还将在ERP、CRM、SCM等全面领域推出应用方案。 4 进气歧管绝对压力Manifold Absolute Pressure (进气歧管绝对压力 ) 5 制造自动化协议Manufacture Automation Protocol,由美国通用汽车公司(General Motor)发起的,现已有几千家公司参加的MAP用户集团建立了在工业环境下的局域网通信标准。参照OSI参考模型和PROWAY得分层模型,MAP现已有三种结构:全MAP(Full MAP)、小MAP(Mini MAP)及增强性能结构(Enbanced Performance Architecture)MAP(EPA MAP) 6 计算机命令GRUB内建命令之一:map,用于把镜像文件虚拟为一个软盘 用法: map (hdx,y)/目录/文件名 (驱动器号) chainloader (hdx,y)/目录/文件名 注意:GRUB使用了UNIX中对设备命名的方式。即(hdx,y)。x为硬盘号,y为驱动器号。从零开始计数。第一个扩展分区的编号为4。 启动命令例子(Mini-Windows 3.2启动盘): map (hd0,0)/boot/pmwin3.img (fd0) chainloader (hd0,0)/boot/pmwin3.img boot 菜单例子 title Windows 3.2 简体中文版 map (hd0,0)/boot/pmwin3.img (fd0) chainloader (hd0,0)/boot/pmwin3.img MAP必须要求镜像文件连续存放,否则无法启动,它不限制文件大小。 7 移动应用部分MAP:Mobile Application Part (移动应用部分),七号信令的子集,提供下述必要的规程:1 位置登记/删除 2 补充业务处理 3 呼叫建立期间用户参数的检索 4 越区切换 5 用户管理 6 操作和维护 7 位置寄存器的故障恢复 8 国际移动设备识别符的管理 9 鉴权 10 有关安全功能的管理 11 短消息业务支持 12 接入请求管理 13 寻呼 MAP:Master Application Provider(第三方管理公司),中国体制下,JIL与海外开发者之间的桥梁 8 将键映射到值的对象将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。此接口取代 Dictionary类,后者完全是一个抽象类,而不是一个接口。 Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。映射顺序 定义为迭代器在映射的 collection视图上返回其元素的顺序。某些映射实现可明确保证其顺序,如 TreeMap类;另一些映射实现则不保证顺序,如 HashMap类。 注:将可变对象用作映射键时必须格外小心。当对象是映射中某个键时,如果以影响 equals比较的方式更改了对象的值,则映射的行为将是不确定的。此项禁止的一种特殊情况是不允许某个映射将自身作为一个键包含。虽然允许某个映射将自身作为值包含,但请格外小心:在这样的映射上 equals 和 hashCode方法的定义将不再是明确的。 所有通用的映射实现类应该提供两个“标准的”构造方法:一个 void(无参数)构造方法,用于创建空映射;一个是带有单个 Map 类型参数的构造方法,用于创建一个与其参数具有相同键-值映射关系的新映射。实际上,后一个构造方法允许用户复制任意映射,生成所需类的一个等价映射。尽管无法强制执行此建议(因为接口不能包含构造方法),但是 JDK中所有通用的映射实现都遵从它。 此接口中包含的“破坏”方法可修改其操作的映射,如果此映射不支持该操作,这些方法将抛出 UnsupportedOperationException。如果是这样,那么在调用对映射无效时,这些方法可以(但不要求)抛出 UnsupportedOperationException。例如,如果某个不可修改的映射(其映射关系是“重叠”的)为空,则对该映射调用 putAll(Map) 方法时,可以(但不要求)抛出异常。 某些映射实现对可能包含的键和值有所限制。例如,某些实现禁止 null 键和值,另一些则对其键的类型有限制。尝试插入不合格的键或值将抛出一个未经检查的异常,通常是 NullPointerException 或 ClassCastException。试图查询是否存在不合格的键或值可能抛出异常,或者返回 false;某些实现将表现出前一种行为,而另一些则表现后一种。一般来说,试图对不合格的键或值执行操作且该操作的完成不会导致不合格的元素被插入映射中时,将可能抛出一个异常,也可能操作成功,这取决于实现本身。这样的异常在此接口的规范中标记为“可选”。 此接口是 Java Collections Framework 的成员。 Collections Framework 接口中的很多方法是根据 equals 方法定义的。例如,containsKey(Object key) 方法的规范中写道:“当且仅当此映射包含针对满足 (key==null k==null : key.equals(k)) 的键 k 的映射关系时,返回 true”。不 应将此规范解释为:调用具有非空参数 key 的 Map.containsKey 将导致对任意的键 k 调用 key.equals(k)。实现可随意进行优化,以避免调用 equals,例如,可首先比较两个键的哈希码(Object.hashCode() 规范保证哈希码不相等的两个对象不会相等)。一般来说,只要实现者认为合适,各种 Collections Framework 接口的实现可随意利用底层 Object 方法的指定行为。 常用操作说明 void clear() 从此映射中移除所有映射关系(可选操作)。 boolean containsKey(Object key) 如果此映射包含指定键的映射关系,则返回 true。 boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。 Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射关系的 Set 视图。 boolean equals(Object o) 比较指定的对象与此映射是否相等。 V get(Object key) 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。 int hashCode() 返回此映射的哈希码值。 boolean isEmpty() 如果此映射未包含键-值映射关系,则返回 true。 Set<K> keySet() 返回此映射中包含的键的 Set 视图。 V put(K key,V value) 将指定的值与此映射中的指定键关联(可选操作)。 void putAll(Map<? extends K,? extends V> m) 从指定映射中将所有映射关系复制到此映射中(可选操作)。 V remove(Object key) 如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。 int size() 返回此映射中的键-值映射关系数。 Collection<V> values() 返回此映射中包含的值的 Collection 视图。 9 杂氮双环磷酸酯MAP 品 名 1β-甲基碳青霉烯双环母核(MAP) 通 用 名 杂氮双环磷酸酯;4R-[4a,5b,6b(R*)]]-3-二苯基磷酰氧基-6-(1-羟基乙基)-4-甲基-7-氧代-1-氮杂双环[3.2.0]庚-2-烯-2-羧酸对硝基苄酯;1b-甲基碳青霉烯双环母核 英 文 beta-Methyl vinyl phosphate(MAP) P-Nitrobenzyl4R,5S,6S)-3-(diphenyloxy)phosphoryloxy-6-[(1R)-1-hydroxyethyl]-4-methyl-7-oxo-1-azabicyclo[3,2,0]hept-2-ene-2-carboxylate CAS 90776-59-3 EINECS 分 子 式 C29H27N2O10P 分 子 量 594.52 性 状 白色结晶(针状)粉末 含 量 大于等于98% 熔 点 126-130℃ 储 存 内衬塑料袋,铝箔袋密封,外为纸筒,常温保存 用 途 美罗培南主环 10 STL关联容器Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。 1. map的构造函数 map<int,string> maphai; map<char,int> maphai; map<string,char> mapstring; map<string,int> mapstring; map<int,char>mapint; map<char,string>mapchar; 2. 数据的插入 在构造map容器后,我们就可以往里面插入数据了。这里讲三种插入数据的方法: 第一种:用insert函数插入pair数据, #include <map> #include <string> #include <iostream> Using namespace std; Int main() { Map<int,string> mapStudent; mapStudent.insert(pair<int,string>(1,“student_one”)); mapStudent.insert(pair<int,string>(2,“student_two”)); mapStudent.insert(pair<int,string>(3,“student_three”)); map<int,string>::iterator iter; for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++) { Cout<<iter->first<<” ”<<iter->second<<end; } } 第二种:用insert函数插入value_type数据,下面举例说明 #include <map> #include <string> #include <iostream> Using namespace std; Int main() { Map<int,string> mapStudent; mapStudent.insert(map<int,string>::value_type (1,“student_one”)); mapStudent.insert(map<int,string>::value_type (2,“student_two”)); mapStudent.insert(map<int,string>::value_type (3,“student_three”)); map<int,string>::iterator iter; for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++) { Cout<<iter->first<<” ”<<iter->second<<end; } } 第三种:用数组方式插入数据,下面举例说明 #include <map> #include <string> #include <iostream> Using namespace std; Int main() { Map<int,string> mapStudent; mapStudent[1] = “student_one”; mapStudent[2] = “student_two”; mapStudent[3] = “student_three”; map<int,string>::iterator iter; for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++) { Cout<<iter->first<<” ”<<iter->second<<end; } } 以上三种用法,虽然都可以实现数据的插入,但是它们是有区别的,当然了第一种和第二种在效果上是完成一样的,用insert函数插入数据,在数据的插入上涉及到集合的唯一性这个概念,即当map中有这个关键字时,insert操作是插入数据不了的,但是用数组方式就不同了,它可以覆盖以前该关键字对应的值,用程序说明 mapStudent.insert(map<int,string>::value_type (1,“student_one”)); mapStudent.insert(map<int,string>::value_type (1,“student_two”)); 上面这两条语句执行后,map中1这个关键字对应的值是“student_one”,第二条语句并没有生效,那么这就涉及到我们怎么知道insert语句是否插入成功的问题了,可以用pair来获得是否插入成功,程序如下 Pair<map<int,string>::iterator,bool> Insert_Pair; Insert_Pair = mapStudent.insert(map<int,string>::value_type (1,“student_one”)); 我们通过pair的第二个变量来知道是否插入成功,它的第一个变量返回的是一个map的迭代器,如果插入成功的话Insert_Pair.second应该是true的,否则为false。 下面给出完成代码,演示插入成功与否问题 #include <map> #include <string> #include <iostream> Using namespace std; Int main() { Map<int,string> mapStudent; Pair<map<int,string>::iterator,bool> Insert_Pair; Insert_Pair = mapStudent.insert(pair<int,string>(1,“student_one”)); If(Insert_Pair.second == true) { Cout<<”Insert Successfully”<<endl; } Else { Cout<<”Insert Failure”<<endl; } Insert_Pair = mapStudent.insert(pair<int,string>(1,“student_two”)); If(Insert_Pair.second == true) { Cout<<”Insert Successfully”<<endl; } Else { Cout<<”Insert Failure”<<endl; } map<int,string>::iterator iter; for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++) { Cout<<iter->first<<” ”<<iter->second<<end; } } 大家可以用如下程序,看下用数组插入在数据覆盖上的效果 #include <map> #include <string> #include <iostream> Using namespace std; Int main() { Map<int,string> mapStudent; mapStudent[1] = “student_one”; mapStudent[1] = “student_two”; mapStudent[2] = “student_three”; map<int,string>::iterator iter; for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++) { Cout<<iter->first<<” ”<<iter->second<<end; } } 3. map的大小 在往map里面插入了数据,我们怎么知道当前已经插入了多少数据呢,可以用size函数,用法如下: Int nSize = mapStudent.size(); 4. 数据的遍历 这里也提供三种方法,对map进行遍历 第一种:应用前向迭代器,上面举例程序中到处都是了,略过不表 第二种:应用反相迭代器,下面举例说明,要体会效果,请自个动手运行程序 #include <map> #include <string> #include <iostream> Using namespace std; Int main() { Map<int,string> mapStudent; mapStudent.insert(pair<int,string>(1,“student_one”)); mapStudent.insert(pair<int,string>(2,“student_two”)); mapStudent.insert(pair<int,string>(3,“student_three”)); map<int,string>::reverse_iterator iter; for(iter = mapStudent.rbegin(); iter != mapStudent.rend(); iter++) { Cout<<iter->first<<” ”<<iter->second<<end; } } 第三种:用数组方式,程序说明如下 #include <map> #include <string> #include <iostream> Using namespace std; Int main() { Map<int,string> mapStudent; mapStudent.insert(pair<int,string>(1,“student_one”)); mapStudent.insert(pair<int,string>(2,“student_two”)); mapStudent.insert(pair<int,string>(3,“student_three”)); int nSize = mapStudent.size() //此处有误,应该是 for(int nIndex = 1; nIndex <= nSize; nIndex++) //by rainfish for(int nIndex = 0; nIndex < nSize; nIndex++) { Cout<<mapStudent[nIndex]<<end; } } 5. 数据的查找(包括判定这个关键字是否在map中出现) 在这里我们将体会,map在数据插入时保证有序的好处。 要判定一个数据(关键字)是否在map中出现的方法比较多,这里标题虽然是数据的查找,在这里将穿插着大量的map基本用法。 这里给出三种数据查找方法 第一种:用count函数来判定关键字是否出现,其缺点是无法定位数据出现位置,由于map的特性,一对一的映射关系,就决定了count函数的返回值只有两个,要么是0,要么是1,出现的情况,当然是返回1了 第二种:用find函数来定位数据出现位置,它返回的一个迭代器,当数据出现时,它返回数据所在位置的迭代器,如果map中没有要查找的数据,它返回的迭代器等于end函数返回的迭代器,程序说明 #include <map> #include <string> #include <iostream> Using namespace std; Int main() { Map<int,string> mapStudent; mapStudent.insert(pair<int,string>(1,“student_one”)); mapStudent.insert(pair<int,string>(2,“student_two”)); mapStudent.insert(pair<int,string>(3,“student_three”)); map<int,string>::iterator iter; iter = mapStudent.find(1); if(iter != mapStudent.end()) { Cout<<”Find,the value is ”<<iter->second<<endl; } Else { Cout<<”Do not Find”<<endl; } } 第三种:这个方法用来判定数据是否出现,是显得笨了点,但是,我打算在这里讲解 Lower_bound函数用法,这个函数用来返回要查找关键字的下界(是一个迭代器) Upper_bound函数用法,这个函数用来返回要查找关键字的上界(是一个迭代器) 例如:map中已经插入了1,2,3,4的话,如果lower_bound(2)的话,返回的2,而upper-bound(2)的话,返回的就是3 Equal_range函数返回一个pair,pair里面第一个变量是Lower_bound返回的迭代器,pair里面第二个迭代器是Upper_bound返回的迭代器,如果这两个迭代器相等的话,则说明map中不出现这个关键字,程序说明 #include <map> #include <string> #include <iostream> Using namespace std; Int main() { Map<int,string> mapStudent; mapStudent[1] = “student_one”; mapStudent[3] = “student_three”; mapStudent[5] = “student_five”; map<int,string>::iterator iter; iter = mapStudent.lower_bound(2); { //返回的是下界3的迭代器 Cout<<iter->second<<endl; } iter = mapStudent.lower_bound(3); { //返回的是下界3的迭代器 Cout<<iter->second<<endl; } iter = mapStudent.upper_bound(2); { //返回的是上界3的迭代器 Cout<<iter->second<<endl; } iter = mapStudent.upper_bound(3); { //返回的是上界5的迭代器 Cout<<iter->second<<endl; } Pair<map<int,string>::iterator,map<int,string>::iterator> mapPair; mapPair = mapStudent.equal_range(2); if(mapPair.first == mapPair.second) { cout<<”Do not Find”<<endl; } Else { Cout<<”Find”<<endl; } mapPair = mapStudent.equal_range(3); if(mapPair.first == mapPair.second) { cout<<”Do not Find”<<endl; } Else { Cout<<”Find”<<endl; } } 6. 数据的清空与判空 清空map中的数据可以用clear()函数,判定map中是否有数据可以用empty()函数,它返回true则说明是空map 7. 数据的删除 这里要用到erase函数,它有三个重载了的函数,下面在例子中详细说明它们的用法 #include <map> #include <string> #include <iostream> Using namespace std; Int main() { Map<int,string> mapStudent; mapStudent.insert(pair<int,string>(1,“student_one”)); mapStudent.insert(pair<int,string>(2,“student_two”)); mapStudent.insert(pair<int,string>(3,“student_three”)); //如果你要演示输出效果,请选择以下的一种,你看到的效果会比较好 //如果要删除1,用迭代器删除 map<int,string>::iterator iter; iter = mapStudent.find(1); mapStudent.erase(iter); //如果要删除1,用关键字删除 Int n = mapStudent.erase(1);//如果删除了会返回1,否则返回0 //用迭代器,成片的删除 //一下代码把整个map清空 mapStudent.earse(mapStudent.begin(),mapStudent.end()); //成片删除要注意的是,也是STL的特性,删除区间是一个前闭后开的集合 //自个加上遍历代码,打印输出吧 } 8. 其他一些函数用法 这里有swap,key_comp,value_comp,get_allocator等函数,感觉到这些函数在编程用的不是很多,略过不表,有兴趣的话可以自个研究 9. 排序 这里要讲的是一点比较高深的用法了,排序问题,STL中默认是采用小于号来排序的,以上代码在排序上是不存在任何问题的,因为上面的关键字是int型,它本身支持小于号运算,在一些特殊情况,比如关键字是一个结构体,涉及到排序就会出现问题,因为它没有小于号操作,insert等函数在编译的时候过不去,下面给出两个方法解决这个问题 第一种:小于号重载,程序举例 #include <map> #include <string> Using namespace std; Typedef struct tagStudentInfo { Int nID; String strName; }StudentInfo,*PStudentInfo; //学生信息 Int main() { int nSize; //用学生信息映射分数 map<StudentInfo,int>mapStudent; map<StudentInfo,int>::iterator iter; StudentInfo studentInfo; studentInfo.nID = 1; studentInfo.strName = “student_one”; mapStudent.insert(pair<StudentInfo,int>(studentInfo,90)); studentInfo.nID = 2; studentInfo.strName = “student_two”; mapStudent.insert(pair<StudentInfo,int>(studentInfo,80)); for (iter=mapStudent.begin(); iter!=mapStudent.end(); iter++) cout<<iter->first.nID<<endl<<iter->first.strName<<endl<<iter->second<<endl; } 以上程序是无法编译通过的,只要重载小于号,就OK了,如下: Typedef struct tagStudentInfo { Int nID; String strName; Bool operator < (tagStudentInfo const& _A) const { //这个函数指定排序策略,按nID排序,如果nID相等的话,按strName排序 If(nID < _A.nID) return true; If(nID == _A.nID) return strName.compare(_A.strName) < 0; Return false; } }StudentInfo,*PStudentInfo; //学生信息 第二种:仿函数的应用,这个时候结构体中没有直接的小于号重载,程序说明 #include <map> #include <string> Using namespace std; Typedef struct tagStudentInfo { Int nID; String strName; }StudentInfo,*PStudentInfo; //学生信息 Classs sort { Public: Bool operator() (StudentInfo const &_A,StudentInfo const &_B) const { If(_A.nID < _B.nID) return true; If(_A.nID == _B.nID) return _A.strName.compare(_B.strName) < 0; Return false; } }; Int main() { //用学生信息映射分数 Map<StudentInfo,int,sort>mapStudent; StudentInfo studentInfo; studentInfo.nID = 1; studentInfo.strName = “student_one”; mapStudent.insert(pair<StudentInfo,int>(studentInfo,90)); studentInfo.nID = 2; studentInfo.strName = “student_two”; mapStudent.insert(pair<StudentInfo,int>(studentInfo,80)); } 11 气调保鲜技术食品包装领域(Modified Atmosphere Packaging) 气调保鲜技术 12 平均动脉压MAP(mean artery pressure)平均动脉压:一个心动周期中动脉血压的平均值称为平均动脉压。正常成年人平均动脉压通常>60mmHg,以确保重要脏器的血供。计算公式如下:平均动脉压=(收缩压+2×舒张压)/3。也有人认为平均动脉压=舒张压+1/3脉压差。脉压差=收缩压-舒张压! HTML <map> 标签 13 最大后验概率统计学中,MAP为最大后验概率(Maximum a posteriori)的缩写。估计方法根据经验数据获得对难以观察的量的点估计。它与最大似然估计中的 Fisher方法有密切关系,但是它使用了一个增大的优化目标,这种方法将被估计量的先验分布融合到其中。所以最大后验估计可以看作是规则化(regularization)的最大似然估计。 14 评鉴工具◎ MAP的概念MAP是一套通过观看录像带做题的评鉴工具,经理人可以得到他们在12项管理能力上的分数,而这些分数是与曾参加过同MAP的70,000多位经理人的分数相比较而得到的。12项关键管理能力 MAP帮助经理人们找出并理解他们的管理能力,一般领导者都不会清楚阻止他们发挥潜能的致命弱点。这些潜藏不知的弱点就像一条链上的一个薄弱环节,经常隐藏于组织目标或者职业生涯的背后。而这些能力弱项就可通过MAP辨认出来。而能力是可以训练、实践并掌握的,这样弱项就可以变为强项。MAP的结果是整个组织的管理能力发展的第一步。MAP是一个首要的工具,它可以向您的经理人和讲师提供已经证明,可信并客观的数据以建立人力资源发展决策。通过MAP,您可以将您的分数与全球做过MAP的600多个企业的超过70,000名经理人的数据进行比较。由此,您可以自己定义数据分类方法,以建立自己的经理人团队的内部常模。 MAP是针对管理者最关键的十二项管理能力(Competency),以观摩影带的方式,让接受评鉴的学员回答精心设计的 200道复选题。回答的结果透过计算机分析,与世界7万名经理人之常模相较,以百分比的方式明确指出个人能力的强弱分布,精确分析组织的人力发展现况。 ◎ MAP的研发历程及背景MAP-EXCEL系统的创始人是现任美国Training House总裁Scott B. Parry博士,他曾经担任多家全球知名公司如:AT&T,GE,Coca-Cola,Philips,Kodak的顾问。80年代初,SCOTT 博士对包括IBM、AT&T、柯达以及美国管理协会等具代表性的企业进行了一项研究,他们想了解优秀的经理人是否在某些能力上特别熟练与杰出。而研究结果显示影响经理人表现的12项关键管理能力。由于这些企业同时也是Training House的客户,Scott B. Parry博士便与一群心理、行为学家组成十人专案小组研发MAP管理才能评鉴系统。针对这12项关键管理能力,专家们设计了十段日常管理情景,拍摄成录象带,然后针对情景设计出题本。在MAP上市之前,这十位专家组成的小组反复审视题本中的每一个问题和答案,至少必须有8位专家同意某一答案和它所评估的能力有关,此答案才被接受和视为正确答案。大约有3分之一的内容经过重新修改后才被同意。接着专案小组又针对11家公司256位经理人做仿真测试。这些公司将经理人在工作上的表现分为"极优"至"普通"不等级(极大多数的分级是经由三份独立评分的成绩综合而得)。这256位经理人同时也担负确认答案是否合理的任务。凡是他们认为题意不明或暗藏陷阱的题目,都经过冲洗设计或删除。专案小组也进行逐项分析来证明答案和各项能力的一致性,这项分析再次确认了每个答案的正确性,同时也证实了它对某项能力确有影响。研发过程历时三年,于1987年正式上市,目前全球已有7万多名经理人参加过评鉴,其中有8000多名经理人来自中国大陆、香港及台湾。卓越经理人的十二项关键管理能力 行政能力 督导能力 沟通能力 认知能力 时间管理与排序 培训教导与授权 倾听与组织讯息 问题确认与解决 目标与标准设定 评估部属与绩效 给予明确的讯息 决断与风险衡量 计划与安排工作 行为规范与咨商 获得正确的讯息 清晰思考与分析 ◎ MAP管理才能发展5步骤评量确定需求——---解说确认行为差距——---计划订定发展计划——---EXCEL训练加强能力——---再评量重新评量 ◎ MAP的优点1. 省时高效的评量工具 2. 以世界7万多名经理人为比较基础,评量结果更具客观参考价值 3. 无人为判断,结果客观、中立且无偏见,易被接受 4. 针对12项能力评量,获得明确的培训发展需求 ◎ MAP的价值组织 1. 盘点主管管理能力 2. 明确获取培训需求 3. 建立人才评鉴中心 个人 1. 了解自我管理能力 2. 拟定具体改善计划 3. 生涯规划参考依据 ◎ 培训益处§ 检测出经理人十二项管理能力的现况 § 凭客观的数据而非主观的判断做评量 § 能够激发个人对管理能力的改善意见 § 有效评量组织管理能力面的训练需求 ◎ 适用对象企业中高阶主管、HR经理、培训经理及相关人士 Map的keySet方法 有一个Map对象,这时候使用keySet()方法获取所有的key值,比如: Map map = new HashMap(); map.put(1,"a"); map.put(2,"b"); map.put(3,"c"); map.put(4,"d"); Set keys1 = map.keySet(); Set keys2 = map.keySet(); Set keys3 = map.keySet(); 上面三个set对象key1,key2,key3引用的是一个对象。这是map的keySet()方法只返回一个set实例,所以当从key1中删除一个对象时候,key2和key3将会受到影响。 keys1.remove(1); System.out.println(keys1); System.out.println(keys2); System.out.println(keys3); 打印结果为: [2,4,3] [2,4,3] [2,4,3] 15 html标签◎ 定义和用法定义一个客户端图像映射。图像映射(image-map)指带有可点击区域的一幅图像。 ◎ html标签html<map>标签,用于定义一个客户端图像映射。图像映射(image-map)指带有可点击区域的一幅图像。 所有主流浏览器都支持 <map> 标签。 16 MAP平均动脉压,英文缩写为 MAP(mean artery pressure)一个心动周期中动脉血压的平均值称为平均动脉压。正常成年人平均动脉压正常值为70~105mmHg。计算公式如下:平均动脉压=(收缩压+2×舒张压)/3。也可表示为:平均动脉压=舒张压+1/3脉压差。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。