map 订阅
Map(Modified Atmosphere Packaging)是一种应用于气调保鲜技术的名词。该名词常使用在食品包装领域。可能可以在食品包装袋中看到。 展开全文
Map(Modified Atmosphere Packaging)是一种应用于气调保鲜技术的名词。该名词常使用在食品包装领域。可能可以在食品包装袋中看到。
信息
外文名
Modified Atmosphere Packaging
领    域
食品包装
中文名
Map
性    质
气调保鲜技术
Map气调保鲜技术
  气调保鲜技术是人为控制气调保鲜库中气体中氮气、氧气、二氧化碳、乙烯等成分比例、湿度、温度(冰冻临界点以上)及气压,通过抑制储藏物细胞的呼吸量来延缓其新陈代谢过程,使之处于近休眠状态,而不是细胞死亡状态,从而能够较长时间的保持被储藏物的质地、色泽、口感、营养等的基本不变,进而达到长期保鲜的效果。即使被保鲜储藏物脱离开气调保鲜环境后,其细胞生命活动仍将保持自然环境中的正常新陈代谢率,不会很快成熟腐败。
收起全文
精华内容
参与话题
问答
  • 4个主要的map实现类介绍

    万次阅读 多人点赞 2019-07-31 18:36:57
    map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。其中这四者的区别如下(简单介绍): HashMap:我们最常用的Map,HashMap的值是没有顺序的,他是按照key的HashCode来...

    一、简单介绍

    map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。其中这四者的区别如下(简单介绍):

    HashMap:我们最常用的Map,HashMap的值是没有顺序的,他是按照key的HashCode来实现的,就是根据key的HashCode 值来存储数据,根据key可以直接获取它的Value,同时它具有很快的访问速度。HashMap最多只允许一条记录的key值为Null(多条会覆盖);允许多条记录的Value为 Null。非同步的。

    TreeMap: 能够把它保存的记录根据key排序,默认是按升序排序,也可以指定排序的比较器,当用Iterator 遍历TreeMap时,得到的记录是排过序的。TreeMap不允许key的值为null。非同步的。

    Hashtable: 与 HashMap类似,不同的是:key和value的值均不允许为null;它支持线程的同步,即任一时刻只有一个线程能写Hashtable,因此也导致了Hashtale在写入时会比较慢,只有hashtable是继承自Dictionary抽象类的,hashMap和treeMap都继承自AbstractMap抽象类,LinkedHashMap继承自hashMap。

    LinkedHashMap: 保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的.在遍历的时候会比HashMap慢。key和value均允许为空,非同步的。

    一些常识:

    1.Collection与Map集合是不是继承自Object?--不是,两个都是接口,Object是类,怎么可能会继承自Object,详细看java.util下的具体接口。

    二、Map排序

    TreeMap

    TreeMap默认是升序的,如果我们需要改变排序方式,则需要使用比较器:Comparator。

    Comparator可以对集合对象或者数组进行排序的比较器接口,实现该接口的public compare(T o1,To2)方法即可实现排序,该方法主要是根据第一个参数o1,小于、等于或者大于o2分别返回负整数、0或者正整数。如下:

     

    复制代码代码如下:


    public class TreeMapTest {
        public static void main(String[] args) {
            Map<String, String> map = new TreeMap<String, String>(
                    new Comparator<String>() {
                        public int compare(String obj1, String obj2) {
                            // 降序排序
                            return obj2.compareTo(obj1);
                        }
                    });
            map.put("c", "ccccc");
            map.put("a", "aaaaa");
            map.put("b", "bbbbb");
            map.put("d", "ddddd");

            Set<String> keySet = map.keySet();
            Iterator<String> iter = keySet.iterator();
            while (iter.hasNext()) {
                String key = iter.next();
                System.out.println(key + ":" + map.get(key));
            }
        }
    }

     

    运行结果如下:

    d:ddddd 
    c:ccccc 
    b:bbbbb 
    a:aaaaa

    上面例子是对根据TreeMap的key值来进行排序的,但是有时我们需要根据TreeMap的value来进行排序。对value排序我们就需要借助于Collections的sort(List<T> list, Comparator<? super T> c)方法,该方法根据指定比较器产生的顺序对指定列表进行排序。但是有一个前提条件,那就是所有的元素都必须能够根据所提供的比较器来进行比较。如下:

     

    复制代码代码如下:


    public class TreeMapTest {
        public static void main(String[] args) {
            Map<String, String> map = new TreeMap<String, String>();
            map.put("d", "ddddd");
            map.put("b", "bbbbb");
            map.put("a", "aaaaa");
            map.put("c", "ccccc");

            //这里将map.entrySet()转换成list
            List<Map.Entry<String,String>> list = new ArrayList<Map.Entry<String,String>>(map.entrySet());
            //然后通过比较器来实现排序
            Collections.sort(list,new Comparator<Map.Entry<String,String>>() {
                //升序排序
                public int compare(Entry<String, String> o1,
                        Entry<String, String> o2) {
                    return o1.getValue().compareTo(o2.getValue());
                }

            });

            for(Map.Entry<String,String> mapping:list){ 
                   System.out.println(mapping.getKey()+":"+mapping.getValue()); 
              } 
        }
    }

     


    运行结果

    a:aaaaa 
    b:bbbbb 
    c:ccccc 
    d:ddddd

    HashMap

    我们都是HashMap的值是没有顺序的,他是按照key的HashCode来实现的。对于这个无序的HashMap我们要怎么来实现排序呢?参照TreeMap的value排序,我们一样的也可以实现HashMap的排序。

     

    复制代码代码如下:


    public class HashMapTest {
        public static void main(String[] args) {
            Map<String, String> map = new HashMap<String, String>();
            map.put("c", "ccccc");
            map.put("a", "aaaaa");
            map.put("b", "bbbbb");
            map.put("d", "ddddd");

            List<Map.Entry<String,String>> list = new ArrayList<Map.Entry<String,String>>(map.entrySet());
            Collections.sort(list,new Comparator<Map.Entry<String,String>>() {
                //升序排序
                public int compare(Entry<String, String> o1,
                        Entry<String, String> o2) {
                    return o1.getValue().compareTo(o2.getValue());
                }

            });

            for(Map.Entry<String,String> mapping:list){ 
                   System.out.println(mapping.getKey()+":"+mapping.getValue()); 
              } 
         }
    }

     

    运行结果

    a:aaaaa 
    b:bbbbb 
    c:ccccc 
    d:ddddd

    展开全文
  • Java中如何遍历Map对象的4种方法

    万次阅读 多人点赞 2013-09-05 10:19:21
    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法。我们看一下最常用的方法及其优缺点。 既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, ...

     

    在Java中如何遍历Map对象

    How to Iterate Over a Map in Java

    在java中遍历Map有不少的方法。我们看一下最常用的方法及其优缺点。

    既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等)

     

    方法一 在for-each循环中使用entries来遍历

    这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。

    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    
    for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
    
        System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
    
    }

     

     

    注意:for-each循环在java 5中被引入所以该方法只能应用于java 5或更高的版本中。如果你遍历的是一个空的map对象,for-each循环将抛出NullPointerException,因此在遍历前你总是应该检查空引用。

     

     

     

    方法二 在for-each循环中遍历keys或values。

    如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet。

    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    
    //遍历map中的键
    
    for (Integer key : map.keySet()) {
    
        System.out.println("Key = " + key);
    
    }
    
    //遍历map中的值
    
    for (Integer value : map.values()) {
    
        System.out.println("Value = " + value);
    
    }

     

     

    该方法比entrySet遍历在性能上稍好(快了10%),而且代码更加干净。

     

     

     

    方法三使用Iterator遍历

    使用泛型:

    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    
    Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();
    
    while (entries.hasNext()) {
    
        Map.Entry<Integer, Integer> entry = entries.next();
    
        System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
    
    }

     

     

    不使用泛型:

     

     

    Map map = new HashMap();
    
    Iterator entries = map.entrySet().iterator();
    
    while (entries.hasNext()) {
    
        Map.Entry entry = (Map.Entry) entries.next();
    
        Integer key = (Integer)entry.getKey();
    
        Integer value = (Integer)entry.getValue();
    
        System.out.println("Key = " + key + ", Value = " + value);
    
    }

     

     

    你也可以在keySet和values上应用同样的方法。

     

     

    该种方式看起来冗余却有其优点所在。首先,在老版本java中这是惟一遍历map的方式。另一个好处是,你可以在遍历时调用iterator.remove()来删除entries,另两个方法则不能。根据javadoc的说明,如果在for-each遍历中尝试使用此方法,结果是不可预测的。

    从性能方面看,该方法类同于for-each遍历(即方法二)的性能。

     

    方法四、通过键找值遍历(效率低)

    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    
    for (Integer key : map.keySet()) {
    
        Integer value = map.get(key);
    
        System.out.println("Key = " + key + ", Value = " + value);
    
    }

     

     

    作为方法一的替代,这个代码看上去更加干净;但实际上它相当慢且无效率。因为从键取值是耗时的操作(与方法一相比,在不同的Map实现中该方法慢了20%~200%)。如果你安装了FindBugs,它会做出检查并警告你关于哪些是低效率的遍历。所以尽量避免使用。

     

     

     

    总结

    如果仅需要键(keys)或值(values)使用方法二。如果你使用的语言版本低于java 5,或是打算在遍历时删除entries,必须使用方法三。否则使用方法一(键值都要)。

     

    展开全文
  • Object转MapMap转Object(对象转mapmap转对象)

    万次阅读 多人点赞 2019-05-09 10:06:20
    第一种方法:fastJosn import com.alibaba.fastjson.JSON; import ... Object转Map FindArchiveDto findArchiveDto = new FindArchiveDto(); findArchiveDto.setContractStatus("降龙"); ...
    FindArchiveDto findArchiveDto = new FindArchiveDto();
    findArchiveDto.setContractStatus("降龙");
    findArchiveDto.setCustName("明华");
    findArchiveDto.setDepartmentName("赵无极");
    fastjson转换方法
    
    //Object转Map
    Map map = JSONObject.parseObject(JSONObject.toJSONString(findArchiveDto), Map.class);
    Map<String,Object> map = JSONObject.parseObject(JSON.toJSONString(findArchiveDto));
    //Map转Object
    FindArchiveDto findArchiveDto1 = JSON.parseObject(JSON.toJSONString(map), FindArchiveDto.class);
    FindArchiveDto findArchiveDto2 = JSONObject.toJavaObject(JSON.toJSONString(map), FindArchiveDto.class);
    jackson的转换
    ObjectMapper mapper = new ObjectMapper();
    //对象转map
    Map m = mapper.readValue(mapper.writeValueAsString(findArchiveDto), Map.class);
    //map转对象
    FindArchiveDto dto = mapper.readValue(mapper.writeValueAsString(m), FindArchiveDto.class);
    还可以用org.apache.commons.beanutils.BeanMap进行转换
    Map<String, Object> map = new org.apache.commons.beanutils.BeanMap(findArchiveDto);
    还可以用org.apache.commons.beanutils.BeanUtils将map转为对象
    BeanUtils.populate(findArchiveDto, map);
    
    //Object转Map
    public static Map<String, Object> getObjectToMap(Object obj) throws IllegalAccessException {
        Map<String, Object> map = new LinkedHashMap<String, Object>();
        Class<?> clazz = obj.getClass();
        System.out.println(clazz);
        for (Field field : clazz.getDeclaredFields()) {
            field.setAccessible(true);
            String fieldName = field.getName();
            Object value = field.get(obj);
            if (value == null){
                value = "";
            }
            map.put(fieldName, value);
        }
        return map;
    }
    //Map转Object
    public static Object mapToObject(Map<Object, Object> map, Class<?> beanClass) throws Exception {
        if (map == null)
            return null;
        Object obj = beanClass.newInstance();
        Field[] fields = obj.getClass().getDeclaredFields();
        for (Field field : fields) {
            int mod = field.getModifiers();
            if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {
                continue;
            }
            field.setAccessible(true);
            if (map.containsKey(field.getName())) {
                field.set(obj, map.get(field.getName()));
            }
        }
        return obj;
    }
    展开全文
  • C++ map用法总结(整理)

    万次阅读 多人点赞 2018-08-22 16:16:38
    1,map简介 map是STL的一个关联容器,它提供一对一的hash。 第一个可以称为关键字(key),每个关键字只能在map中出现一次; 第二个可能称为该关键字的值(value); map以模板(泛型)方式实现,可以存储任意类型的...

    1,map简介

    map是STL的一个关联容器,它提供一对一的hash。

    • 第一个可以称为关键字(key),每个关键字只能在map中出现一次;
    • 第二个可能称为该关键字的值(value);


    map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的实现自建一颗红黑树,这颗树具有对数据自动排序的功能。在map内部所有的数据都是有序的,后边我们会见识到有序的好处。比如一个班级中,每个学生的学号跟他的姓名就存在著一对一映射的关系。

    2,map的功能

    自动建立key - value的对应。key 和 value可以是任意你需要的类型,包括自定义类型。

    3,使用map

    使用map得包含map类所在的头文件

    #include <map>  //注意,STL头文件没有扩展名.h

    map对象是模板类,需要关键字和存储对象两个模板参数:

    std:map<int, string> personnel;

    这样就定义了一个用int作为索引,并拥有相关联的指向string的指针.

    为了使用方便,可以对模板类进行一下类型定义,

    typedef map<int,CString> UDT_MAP_INT_CSTRING;

    UDT_MAP_INT_CSTRING enumMap;

    4,map的构造函数

    map共提供了6个构造函数,这块涉及到内存分配器这些东西,略过不表,在下面我们将接触到一些map的构造方法,这里要说下的就是,我们通常用如下方法构造一个map:

    map<int, string> mapStudent;

    5,插入元素

    // 定义一个map对象
    map<int, string> mapStudent;
    
    // 第一种 用insert函數插入pair
    mapStudent.insert(pair<int, string>(000, "student_zero"));
     
    // 第二种 用insert函数插入value_type数据
    mapStudent.insert(map<int, string>::value_type(001, "student_one"));
    
    // 第三种 用"array"方式插入
    mapStudent[123] = "student_first";
    mapStudent[456] = "student_second";

    以上三种用法,虽然都可以实现数据的插入,但是它们是有区别的,当然了第一种和第二种在效果上是完成一样的,用insert函数插入数据,在数据的 插入上涉及到集合的唯一性这个概念,即当map中有这个关键字时,insert操作是不能在插入数据的,但是用数组方式就不同了,它可以覆盖以前该关键字对 应的值,用程序说明如下:

    mapStudent.insert(map<int, string>::value_type (001, "student_one"));
    
    mapStudent.insert(map<int, string>::value_type (001, "student_two"));

    上面这两条语句执行后,map中001这个关键字对应的值是“student_one”,第二条语句并没有生效,那么这就涉及到我们怎么知道insert语句是否插入成功的问题了,可以用pair来获得是否插入成功,程序如下

    // 构造定义,返回一个pair对象
    pair<iterator,bool> insert (const value_type& val);
    
    pair<map<int, string>::iterator, bool> Insert_Pair;
    
    Insert_Pair = mapStudent.insert(map<int, string>::value_type (001, "student_one"));
    
    if(!Insert_Pair.second)
        cout << ""Error insert new element" << endl;

    我们通过pair的第二个变量来知道是否插入成功,它的第一个变量返回的是一个map的迭代器,如果插入成功的话Insert_Pair.second应该是true的,否则为false。

    6, 查找元素

    当所查找的关键key出现时,它返回数据所在对象的位置,如果沒有,返回iter与end函数的值相同。

    // find 返回迭代器指向当前查找元素的位置否则返回map::end()位置
    iter = mapStudent.find("123");
     
    if(iter != mapStudent.end())
           cout<<"Find, the value is"<<iter->second<<endl;
    else
       cout<<"Do not Find"<<endl;

    7, 刪除与清空元素

    //迭代器刪除
    iter = mapStudent.find("123");
    mapStudent.erase(iter);
     
    //用关键字刪除
    int n = mapStudent.erase("123"); //如果刪除了會返回1,否則返回0
     
    //用迭代器范围刪除 : 把整个map清空
    mapStudent.erase(mapStudent.begin(), mapStudent.end());
    //等同于mapStudent.clear()

    8,map的大小

    在往map里面插入了数据,我们怎么知道当前已经插入了多少数据呢,可以用size函数,用法如下:

    int nSize = mapStudent.size();

     

     9,map的基本操作函数:

         C++ maps是一种关联式容器,包含“关键字/值”对

         begin()         返回指向map头部的迭代器

         clear()        删除所有元素

         count()         返回指定元素出现的次数

         empty()         如果map为空则返回true

         end()           返回指向map末尾的迭代器

         equal_range()   返回特殊条目的迭代器对

         erase()         删除一个元素

         find()          查找一个元素

         get_allocator() 返回map的配置器

         insert()        插入元素

         key_comp()      返回比较元素key的函数

         lower_bound()   返回键值>=给定元素的第一个位置

         max_size()      返回可以容纳的最大元素个数

         rbegin()        返回一个指向map尾部的逆向迭代器

         rend()          返回一个指向map头部的逆向迭代器

         size()          返回map中元素的个数

         swap()           交换两个map

         upper_bound()    返回键值>给定元素的第一个位置

         value_comp()     返回比较元素value的函数

     

    展开全文
  • map函数

    千次阅读 多人点赞 2019-04-21 22:10:44
    map函数 map函数:在可迭代对象上映射函数 map函数在python2.0中,相关内置函数map在传入None作为函数参数时,会以类似方式把序列的元素配对起来。如果各个参数长度不等,那么map函数会用None补齐较短的序列(不是...
  • Map集合循环遍历的几种方式

    万次阅读 多人点赞 2018-01-21 22:37:06
    package cn.jdbc.test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; /** * Map 集合的循环遍历 * @data 2018.1.21 * */ public class TestMap { ...
  • C++ map详解

    千次阅读 2016-10-21 14:25:42
    C++ map详解
  • Map集合中value()与keySet()、entrySet()区别

    万次阅读 多人点赞 2019-07-31 18:36:36
    Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet():将Map中所有的键存入到set集合中。因为set具备迭代器。所有可以迭代方式取出所有的键,再根据get方法。获取每一个键对应的...
  • Map是什么 // map??? // es6 新提出的一种引用类型的数据结构 类似于对象 // 字符创-》值 值-》值 声明Map数据结构 const map = new Map() const o = {p:'hello'} // 相当于键 key map.set(o,'content') // var a =...
  • ES6---数组map、reduce函数

    万次阅读 2020-07-01 23:04:20
    数组map函数 传入一个函数,会按照函数的规则进行操作 let arr=["12","-1","10","5"]; arr = arr.map(item=>item*2);//最简洁的写法 //arr = arr.map(item=>{return item*2}); //写法2 console.log(arr);/...
  • Thymeleaf基础 遍历List、Map、List「map」、Map「List」

    万次阅读 多人点赞 2016-12-28 10:28:58
    public String hello(Model map){ // 将要遍历的map Map user= new HashMap(); user.put("name", "姓名"); user.put("age", "年龄"); user.put("sex", "性别"); user.put("birth...
  • Map是java中的一个接口,Map.Entry是Map的一个内部接口。对于Map中提供的一些常用方法,如map.keySet()、map.entrySet()、map.values()等方法大多数人都不是很熟悉。map.keySet()方法返回值是Map中key值的集合;map....
  • List转Map的三种方法

    万次阅读 多人点赞 2018-04-03 13:26:33
    List转Map三种方法。
  • map转成json字符串

    万次阅读 2018-08-10 11:10:54
    用maven引入fastjson jar包 &lt;dependency&gt; &lt;groupId&gt;com.alibaba&lt;/groupId&gt; &lt;artifactId&gt;fastjson&lt;/artifactId&.../dependency&
  • 项目环境: jdk1.8+spring4.3.12 一、问题描述及试用场景: 在项目规范中,要求类名以DO为尾的类作为数据库层实体bean,类名以MO为尾的类作为系统传输层实体bean,类名以VO为尾的类作为服务端与前端交互的实体...
  • 谁要是再敢用Map传参,我过去就是一JIO

    万次阅读 多人点赞 2020-04-05 11:38:56
    还记得上次我写过一篇关于实际项目代码分层和规划的文章《看完这篇,别人的开源项目结构应该能看懂了》, 在文尾处提到过一些注意事项,其中第一条就是: Contorller层参数传递建议不要使用HashMap,推荐使用数据...
  • 解决Failed to parse SourceMap: http:xxx 问题

    万次阅读 热门讨论 2016-04-11 09:03:13
    最近在调试web网站的时候,看到Chrome的Dev Tool的控制台打印出来一个莫名的错误,类似于Failed to parse ...这里简单说一下SourceMap这项技术。在现在写网站的时候,如果有很多的javascript文件,拿ASP.NET NVC...
  • 遍历数组、List、Map有几种方式

    万次阅读 2020-10-05 23:47:10
    遍历数组、List、Map有几种方式 数组 String[] arr = {"a", "b", "c", "d", "e"}; //方法一: for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]); } //方法二: for (String s : arr) { System...
  • 所以想问下经验较多的人,map和hash~map效率到底差距有多少(结合我的使用场景)。 1、每个map(hash~map)最多只有100个数据,键值为string std::map, MyDataStruct> 键值长度4~30个字符不等,且会存在汉语...
  • c++ map与unordered_map区别及使用

    万次阅读 多人点赞 2018-12-01 13:06:34
    需要引入的头文件不同 map: #include &lt; map &gt; unordered_map: #include &lt; unordered_map &...mapmap内部实现了一个红黑树(红黑树是非严格平衡二叉搜索树,而AVL是严格平衡二...
  • org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.xml.IncompleteStatementException: Could not find parameter map java.util.Map 报错的地方: this....
  • JS语法之:map()方法

    万次阅读 多人点赞 2019-01-14 17:32:02
    map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。 并举了个例子: var array1 = [1,4,9,16]; const map1 = array1.map(x => x *2); console.log(map1); 打印结果为...
  • java map 添加数据

    2016-08-29 03:31:08
    java map 添加key 和 value, 动态添加key和value,key和value是分别每个数组中某一个值,key是a数组中的值a[i],而value是b数组中的一个值b[j], 他们这2个数组不再一个循环,而map的put需要放一个a[i],时,也要放...
  • private void getCorrectContract(Map contractMap) { Map correctContractMap = contractMap; //原主力交易合约用来判断是否换月 correctContractMap.put("main_contract","15451"); //我在这里改变了MAP的值 ...
  • C++ map遍历

    千次阅读 2019-07-24 18:45:45
    C++ map遍历 std::map<CString, double>::iterator it; it = map.begin(); while (it != map.end()) { CString line = it->second.ToString(); it++; }
  • map,hash_map和unordered_map效率比较

    千次阅读 2018-08-03 21:53:15
    map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程...

空空如也

1 2 3 4 5 ... 20
收藏数 421,228
精华内容 168,491
关键字:

map