Map 键值对

Map 键值对

* a:添加功能
  V put(K key,V value):添加元素。
  * 如果键是第一次存储,就直接存储元素,返回null
  * 如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
* b:删除功能
  * void clear():移除所有的键值对元素
  * V remove(Object key):根据键删除键值对元素,并把值返回
* c:判断功能
  * boolean containsKey(Object key):判断集合是否包含指定的键
  * boolean containsValue(Object value):判断集合是否包含指定的值
  * boolean isEmpty():判断集合是否为空
* d:获取功能
  * Set<Map.Entry<K,V>> entrySet():
  * V get(Object key):根据键获取值
  * Set<K> keySet():获取集合中所有键的集合
  * Collection<V> values():获取集合中所有值的集合
* e:长度功能
  * int size():返回集合中的键值对的个数

第一种遍历 :keySet() 获取到key的集合,通过get(key) 拿到对应的value
第二种遍历 :entrySet() 获取到键值对的集合:

public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("张三", 29);
        map.put("李四", 24);
        map.put("王五", 25);
        map.put("赵柳", 26);
        /*Set<String> keySet = map.keySet();
        Iterator<String> iterator = keySet.iterator();
        while(iterator.hasNext()){     // 迭代器迭代
            String key = iterator.next();
            Integer value = map.get(key);
            System.out.println(value);*/
        for (String key : map.keySet()) {
            System.out.println(map.get(key));
        }
        }
    }
public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("张三", 29);
        map.put("李四", 24);
        map.put("王五", 25);
        map.put("赵柳", 26);

        /*Set<Map.Entry<String, Integer>> ets = map.entrySet();
        Iterator<Map.Entry<String, Integer>> iterator = ets.iterator();
        while (iterator.hasNext()) {
            //获取每个Entry对象
            Map.Entry<String, Integer> en = iterator.next();
            String key = en.getKey();
            Integer value = en.getValue();
            System.out.println(key + ".." + value);

        }*/     //Map.Entry<String, Integer>   是Map接口中的Entry接口
        for (Map.Entry<String, Integer> en : map.entrySet()) {
            String key = en.getKey();
            Integer value = en.getValue();
            System.out.println(key + ".." + value);
        }
        

原文地址:https://www.cnblogs.com/yaobiluo/p/11306295.html

时间: 2024-08-29 19:48:32

Map 键值对的相关文章

用字典给Model赋值并支持map键值替换

这个是昨天教程的升级版本,支持键值的map替换. 源码如下: NSObject+Properties.h 与 NSObject+Properties.m // // NSObject+Properties.h // // Created by YouXianMing on 14-9-4. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import <Foundation/Foundation.h> @interface

如何在STL的map中使用结构体作为键值

这里首先给出容器map的原型: template < class Key, class T, class Compare = less<Key>, class Alloc = alloc> class map{ ... } 可以看到模板参数一共有四个,第一个就是Key,即键:第二个就是值:第四个就是空间配置器,默认使用alloc(随STL版本不同而不同).那么第三个是啥? 我们知道,map的底层数据结构,其实是树,更确切的说,是一个RB-tree(红黑树).RB-tree树在进行插

std::map使用结构体自定义键值

使用STL中的map时候,有时候需要使用结构题自定义键值,比如想统计点的坐标出现的次数 struct Node{ int x,y; }; ...... map<Node,int>mp; mp[(Node){x,y}]++; 这样子的话,会出现一堆报错 c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\bits\stl_function.h||In instantiation of 'bool std::less<_Tp>::operator()(

Java基础知识强化之集合框架笔记53:Map集合之Map集合的遍历 键值对对象找键和值

1. Map集合的遍历(键值对对象找键和值) Map -- 夫妻对  思路:  A: 获取所有结婚证的集合  B: 遍历结婚证的集合,得到每一个结婚证  C: 根据结婚证获取丈夫和妻子 转换:  A: 获取所有键值对对象的集合  B: 遍历键值对对象的集合,得到每一个键值对对象  C: 根据键值对对象获取键和值 2. 代码示例: 1 package cn.itcast_01; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 impo

各种Map的区别,想在Map放入自定义顺序的键值对

今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map 在讲解Map排序之前,我们先来稍微了解下map.map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等.其中这四者的区别如下(简单介绍): HashMap:我们最常用的Map,它根据key的HashCode 值来存储数据,根据key可以直接

【JSP EL】EL表达式 获取list长度/不用循环,EL在List中直接获取第一项的内容/EL获取Map的键,Map的值

1.EL表达式 获取list长度 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <c:if test="${fn:length(list名字)>1}"&g

Java记录 -63- Java的键值映射Map

public interface Map<K,V> 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. Map接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口. Map 接口提供三种collection 视图,允许以键集.值集或键-值映射关系集的形式查看某个映射的内容.映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序.某些映射实现可明确保证其顺序,如 TreeMap 类:另一些映射实现则不保证顺序,如 HashMap 

Java中Map根据键值(key)或者值(value)进行排序实现

我们都知道,java中的Map结构是key->value键值对存储的,而且根据Map的特性,同一个Map中 不存在两个Key相同的元素,而value不存在这个限制.换句话说,在同一个Map中Key是唯一的,而value不唯一.Map是一个接口,我们不能 直接声明一个Map类型的对象,在实际开发中,比较常用的Map性数据结构是HashMap和TreeMap,它们都是Map的直接子类.如果考虑到存取 效率的话,建议使用HashMap数据结构,而如果需要考虑到Key的顺序,建议使用TreeMap,但是

JS 有序键值Map对的实现

构造: function Map() { this.keys = new Array(); this.data = new Array(); //添加键值对 this.set = function (key, value) { if (this.data[key] == null) {//如键不存在则身[键]数组添加键名 this.keys.push(value); } this.data[key] = value;//给键赋值 }; //获取键对应的值 this.get = function