• Map接口、HashMap类、LinkedHashSet类


    java.util.Map<K, V>接口
    双列集合,key不可以重复

    Map方法:

    1、public V put(K key, V value):键值对添加到map,如果key不重复返回V是null,否则用新value替换旧value,返回旧value
    2、public V get(Object Key):根据指定的键返回对应的值,没有就返回null
    3、public V remove(Object key):根据指定的键,移除对应的键值对,返回被移除键值对的值
    4、public boolean containsKey(Object key):含有指定键就返回true,否则返回false
    5、public boolean containsValue(Object value):含有指定的值就返回true,否则返回false
    6、public Set<K> keySet():把map所有的key取出存储到一个set里
    7、public Set<Map.Entry<K, v>> entrySet():返回映射中包含的映射关系的set视图
    
    

    Map遍历:

    //public Set<K> keySet():把map所有的key取出存储到一个set里
    public class Demo01Map {
        public static void main(String[] args) {
            //show01();
            Map<String, Integer> map = new HashMap<>();
            map.put("zhuobo", 12);
            map.put("dd", 13);
            map.put("fjl", 14);
            map.put("ddda", 23);
            Set<String> set = map.keySet();
    
            for(String s:set) {
                System.out.println(s +  " = " + map.get(s));
            }
    
            System.out.println("=====================");
            Iterator<String> it = set.iterator();
            while(it.hasNext()) {
                String s = it.next();
                System.out.println(s + " = " + map.get(s));
            }
        }
    

    Entry接口:当Map集合一旦创建,那么就会在Map集合中创建一个Entry对象,用来记录键值对(键与值的映射关系)
    Entry对象有两个方法:getKe()和getValue()
    通过Entry对象遍历map

    Set<Map.Entry<String, Integer>> entrySet = map.entrySet();// 把所有的Entry对象存储到一个集合里,并返回
    
            Iterator<Map.Entry<String, Integer>> it = entrySet.iterator();
            while(it.hasNext()) {
                Map.Entry<String, Integer> entry = it.next();
                System.out.println(entry.getKey() + " = " + entry.getValue());
            }
    

    实现类:
    1、java.util.HashMap<K, V>集合 implements Map<K, V>接口
    底层是哈希表(单向链表+红黑树),查询速度快,无序集合。
    java.util.LinkedHashMap<K, V>集合 extends HashMap<K, V>集合
    特点:底层是哈希表+链表,保证迭代的顺序,有序集合,存储的顺序和取出的顺序一致

  • 相关阅读:
    抗战纪念日之前
    学习VS生活
    来到这里,我放弃了多少- UI基础-疯狂猜图,我们都疯狂了-
    开班典礼-老师玩命的教,大家玩命的学,沉静,18K
    见老同学记
    6月第一周学习总结
    临界区和不变量和谓词
    C库得到系统当前的时间
    查看一个进程有多少个线程
    bubble chart|Matrix Scatter|Overlay Scatter|Scatterplots|drop-line|box plot|Stem-and-leaf plot|Histogram|Bar chart|Pareto chart|Pie chart|doughnut chart|
  • 原文地址:https://www.cnblogs.com/zhuobo/p/10630615.html
Copyright © 2020-2023  润新知