美文网首页
Map映射集合

Map映射集合

作者: Finlay_Li | 来源:发表于2019-04-07 16:43 被阅读0次

Map集合框架:
java.util.Map :
1、定义:具有 key(键)-value(值)映射关系的集合。
2、Map和Collection的区别:Collection操作一个对象(key)
Map操作成对对象(key、value)
3、Map与Collection同级
|--HashMap :
1 特性与HashSet一样
2 Set底层实际使用的是HashMap,不过HashSet只操作了一个对象—>key值
3 HashMap的value可以重复,判断value时,只需通过 equals() 方法判断
4 是线程不安全的,所以效率高
|--LinkedHashMap :特性与LinkedHashSet一样
|--Hashtable :
1 是线程安全的,因此效率低。
2 不允许使用 null 作为 key 和 value

    |--Properties : 用于操作属性文件
        1 由于属性文件里只能写字符串。所以 Properties 里的 key 和 value 都是字符串类型
        2 示例  
        @Test
        public void test3() throws IOException{
            //1. 创建 Properties 的实例
            Properties props = new Properties();
            
            //2. 通过 load(InputStream in) 方法与属性文件关联
            props.load(new FileInputStream(new File("jdbc.properties"));
            
            //3. 通过 getProperty(String key) 获取对应的 value
                 
            String userName = props.getProperty("username");
            String password = props.getProperty("password");
            
            System.out.println(userName);
            System.out.println(password);    
        }

|--TreeMap : 根据 key 拥有指定的排序方式
    1 特性与TreeSet一样
    2 排序:
    ①自然排序(Comparable)
    ②定制排序(Comparator)

Map 的常用方法:
添加、删除操作:
Object put(Object key,Object value)
Object remove(Object key)
void putAll(Map t)
void clear()
元素查询的操作:
Object get(Object key)
boolean containsKey(Object key)
boolean containsValue(Object value)
int size()
boolean isEmpty()
boolean equals(Object obj):两集合必须一模一样才可为true
Map 的遍历:
Set keySet()
Set entrySet()
Map 的遍历

遍历 Map 的方式一:获取 Map 中所有的 key 组成的 Set——>keySet()

1)原理&思路:
1 Map 中取出的 key散列的,java把他们封装入Set中,提供给我们 Set keySet()
2 我们通过当前map调用keySet(),可得到封装好key的Set集合
3 再通过 增强for 遍历此Set集合。取出key
4 (注意:key是map的,Set是java帮我们封装散列的key)
5 key对应value。我们通过map.get(key);方法传入key获取对应的value
6 (注意:value与key的类型是add()时的类型)
7 为什么java把key封装入Set中而不是其他?
因key 不可重复,对应Set接口集合
2)示例:

    Set set = map.keySet();
    
    for (Object key : set) {
        System.out.println(key);
        
        Object value = map.get(key);
        System.out.println(value);
    }
    
    System.out.println("-------------------------------------------------------------");
    新·

遍历 Map 的方式二:获取 Map 中所有的 Entry组成的 Set——>entrySet();
1)原理&思路:
1 java把一个 key 和一个 value 组成一个 Entry类
2 java再从Map中创建这个entry内部类
3 java再把entry内部类封装进Set集合中,提供给我们 Set entrySet()

        1 我们通过当前map调用entrySet(),可得到封装好的Set集合
        2 再通过 增强for 遍历此Set集合。取出一个个entry
           注意:entry是内部类的,默认得到的类型是Object
                     实际上是Entity类型因此要强转来调用Entity类中的get方法
        3 再通过 entry提供访问的get方法 x.getKey()
                      entry提供访问的get方法 x.getValue()
                      取出一个个key、value

2)示例:
Set set2 = map.entrySet();

    for(Object obj : set2){
        Entry entry = (Entry) obj;
        
        Object key = entry.getKey();
        Object value = entry.getValue();
        
        System.out.println(key + "=" + value);
    }
    System.out.println("-------------------------------------------------------------");
    

    Iterator it2 = set2.iterator();
    
    while(it2.hasNext()){
        Entry entry = (Entry) it2.next();
    【迭代器取得是对象,类型为Object。但是实际拿的是entry对。所以强转】
        Object key = entry.getKey();
        Object value = entry.getValue();
        
        System.out.println(key + "==" + value);
        System.out.println(entry);
    }
}  

}

相关文章

  • 映射、元组、集合

    映射 元组 集合 集合之seq 集合之set 集合之map

  • Java中Map接口

    Map 集合和 Collection 集合不同,Map 集合是基于键(key)/值(value)的映射,Colle...

  • 集合 -- Map映射

    Map映射 Map集合的数据结构仅仅针对键有效,和值无关 存储的是键值对元素,键是唯一的,值可重复 HashMap...

  • Map映射集合

    Map集合框架:java.util.Map :1、定义:具有 key(键)-value(值)映射关系的集合。2、M...

  • Map映射集合

    Map映射集合 学习其子类 HashMap: HashMap是一个以键值对方式存储数据的集合,键必须唯一,不能保证...

  • 2020-06-29Map集合

    Map集合 Map集合概述①Interface Map K:键的类型 : 值的类型。②将键映射到值的对象...

  • Java基础笔记18

    18.01_集合框架(Map集合概述和特点) A:Map接口概述查看API可以知道:将键映射到值的对象一个映射不能...

  • java基础系列07--集合(3)

    JAVA集合三 Map集合 java.util 下的接口Map,将键映射到值的对象。一个映射不能包含重...

  • Java基础系列31-双列 Map集合、Properties集合

    一. Map集合 Map集合将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 1.1 创...

  • Java集合框架之Map

    1 Map集合N016 1.1Map接口 【 • 实现Map接口的集合类用来存储"键-值"映射对。 • JDK...

网友评论

      本文标题:Map映射集合

      本文链接:https://www.haomeiwen.com/subject/wppsiqtx.html