Map

双列集合(Map)

  • 双列集合的体系

以键值对的形式存在的,如果需要存储成对存在的数据,那么就要使用双列集合---- Map 集合。

-------------| HashMap    //底层也是依赖于哈希码去实现的,存储的位置是根据键的哈希码算出来的
-------------| TreeMap    //底层也是使用了红黑树数据结构去实现的,特点:是会根据键的数据进行排序存储
-------------| Hashtable(了解)
  • Map接口的方法:
            增
                put(K key, V value)    添加元素到map集合, 以前与 key 关联的值,如果没有针对 key 的映射关系,则返回 null。(
                putAll(Map<? extends K,? extends V> m) 
            删
                clear() 
                remove(Object key) 
            判断:
                containsKey(Object key) 
                containsValue(Object value) 
                isEmpty() 
            获取
                get(Object key) 
                size()
package cn.itcast.map;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class Demo1 {
    public static void main(String[] args) {
        Map<String,String> map = new  HashMap<String, String>();
        map.put("霆锋", "张柏芝");
        map.put("文章", "马伊琍");
        map.put("汪峰", "章子怡");
        map.put("奥巴马", "凤姐");
        /*
        Map<String,String> map2 = new HashMap<String, String>();
        map2.put("习总", "彭丽媛");
        map2.put("奥巴马", "凤姐");
    
         添加 
        System.out.println("返回值:"+ map.put("文章", "姚笛"));
        map.putAll(map2);  //把map2的所有元素添加到map集合中。
        
        
        删除
        map.clear();  //清除map集合中所有
        
        System.out.println("被删除的数据:"+ map.remove("奥巴马"));  // 根据键删除一条数据, 返回是该键对应的值。
        
        判断
        
        System.out.println("判断是否存在指定的键:"+ map.containsKey("奥巴马"));
        System.out.println("判断是否存在指定的值:"+ map.containsValue("凤姐"));
        System.out.println("判断集合是否为空元素:"+ map.isEmpty());
        
        
        获取
        System.out.println("根据值获取对应的值:"+ map.get("霆锋"));
        
        System.out.println("查看map集合的元素个数:"+ map.size());
        */
        System.out.println("集合的元素:"+map);
        
    }
}

双列集合没有迭代器,所以只能使用单列集合的迭代器,可是单列集合的迭代器都是只能返回一条数据,而map的返回值是以键值对的形式存在的,故此我们要将返回值进行相应的修改,使得单列集合的迭代器能迭代输出双列集合的值

遍历方式一: 可以使用keySet方法遍历。 keySet方法返回的集合只是包含了所有的键,没有包含值。

public class Demo2 {
    
    public static void main(String[] args) {
        Map<String,String> map = new  HashMap<String, String>();
        map.put("霆锋", "张柏芝");
        map.put("文章", "马伊琍");
        map.put("汪峰", "章子怡");
        map.put("奥巴马", "凤姐");
        Set<String> set = map.keySet();  //把map集合中所有key的数据存储到Set集合中返回。  
        Iterator<String> it = set.iterator();   
        while(it.hasNext()){
            String key = it.next();
            System.out.println("键:"+ key+" 值:"+ map.get(key));
        }
}

遍历的方式二:可以使用values方法进行遍历。 values方法返回的集合对象只是包含了map中的所有值,没有键的数据。

Collection<String> list =   map.values();  // values 把map集合中的所有值存储到一个Collection集合返回
        Iterator<String> it= list.iterator();
        while(it.hasNext()){
            String value = it.next();
            System.out.println("值:"+ value);
        }

遍历的方式三: 使用 entrySet方式遍历。 推荐使用。

Set<Map.Entry<String,String>> entrys  = map.entrySet();
//Set<Entry<String,String>> entrys  = map.entrySet();
        Iterator<Map.Entry<String,String>> it = entrys.iterator();
        //Iterator<Entry<String,String>> it = entrys.iterator();
        while(it.hasNext()){
            Map.Entry<String,String> entry = it.next();
            //Entry<String,String> entry = it.next();
            System.out.println("键: "+ entry.getKey()+ " 值:" + entry.getValue());
        }
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/665879

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。