• 71.【Java.哈希表(散列表)】


    1.哈希表的添加(put)

    1. put(key,value);对我们所设置的键值对进行赋值的操作;
    2. 添加到Map中的数据,与List不一样,是没有顺序的。顺序是根据哈希算法得出的
    
    • 1
    • 2
    import java.util.HashMap;
    public class Hash {
        public static void main(String[] args) {
          HashMap<String,Double> hashMap=new HashMap<>(10);
          hashMap.put("apple",3.5);
          hashMap.put("organ",1.5);
          hashMap.put("bannda",7.5);
          System.out.println(hashMap);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    这里是引用

    2.哈希表的查询(get)

    1.get(key),我们可以通过key找到我们需要的值。
    2.通过商品名字查找价格.
    
    • 1
    • 2
    import java.util.HashMap;
    public class Hash {
        public static void main(String[] args) {
          HashMap<String,Double> hashMap=new HashMap<>(10);
          hashMap.put("apple",3.5);
          hashMap.put("organ",1.5);
          hashMap.put("bannda",7.5);
          System.out.println(hashMap.get("apple"));
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    这里是引用

    3.哈希表中是否存在(containsKey/containsValue)

    1.containsKey(key);判断key是否包含在这个哈希表中,如果存在true,否则false
    2.查看苹果和小猪是否在集合中。
    
    • 1
    • 2
    import java.util.HashMap;
    public class Hash {
        public static void main(String[] args) {
          HashMap<String,Double> hashMap=new HashMap<>(10);
          hashMap.put("apple",3.5);
          hashMap.put("organ",1.5);
          hashMap.put("bannda",7.5);
          System.out.println(hashMap.containsKey("apple"));
          System.out.println(hashMap.containsKey("pig"));
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    这里是引用

    3.containsValue(value);通过value查找是否存在键值对
    
    • 1
    import java.util.HashMap;
    
    public class Hash {
        public static void main(String[] args) {
          HashMap<String,Double> hashMap=new HashMap<>(10);
          hashMap.put("apple",3.5);
          hashMap.put("organ",1.5);
          hashMap.put("bannda",7.5);
          System.out.println(hashMap.containsValue(3.2));
          System.out.println(hashMap.containsValue(3.5));
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    这里是引用

    4.哈希表返回所有Set映射(entrySet)

    1.entrySet();返回所有的键值对
    
    • 1
    import java.util.HashMap;
    public class Hash {
        public static void main(String[] args) {
          HashMap<String,Double> hashMap=new HashMap<>(10);
          hashMap.put("apple",3.5);
          hashMap.put("organ",1.5);
          hashMap.put("bannda",7.5);
          System.out.println(hashMap.entrySet());
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    这里是引用

    2.哈希表的名字,也可以实现对数据的全部输出
    
    • 1
    import java.util.HashMap;
    public class Hash {
        public static void main(String[] args) {
          HashMap<String,Double> hashMap=new HashMap<>(10);
          hashMap.put("apple",3.5);
          hashMap.put("organ",1.5);
          hashMap.put("bannda",7.5);
          System.out.println(hashMap);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    这里是引用

    5.哈希表返回所有key值(keyset)

    1.keySet();返回所有的key
    • 1
    import java.util.HashMap;
    public class Hash {
        public static void main(String[] args) {
          HashMap<String,Double> hashMap=new HashMap<>(10);
          hashMap.put("apple",3.5);
          hashMap.put("organ",1.5);
          hashMap.put("bannda",7.5);
          System.out.println(hashMap.keySet());
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    这里是引用

    6.判断哈希表是否为空(isempty)

    1.isempty();判断是否为空,如果为空true,反之false
    
    • 1

    这里是引用

    5.哈希表默认值选项(getOrDefault)

    8.哈希表对象的复制添加(putAll)

    1.putAll(hashMap); 哈希表的复制添加
    2.如果在复制的时候,被添加的key值等于key值,会对被添加的值进行覆盖。
    
    • 1
    • 2
    import java.util.HashMap;
    public class Hash {
        public static void main(String[] args) {
          HashMap<String,Double> hashMap=new HashMap<>(10);
          hashMap.put("apple",3.5);
          hashMap.put("organ",1.5);
          hashMap.put("bannda",7.5);
        HashMap<String,Double> hashMap1=new HashMap<>(10);
          hashMap1.put("apple1",0.5);
          hashMap1.put("organ2",5.5);
          hashMap1.put("bannda",8.5);
    //      将哈希集合2的对象全部添加到对象一中
          hashMap.putAll(hashMap1);
            System.out.println(hashMap.entrySet());
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    这里是引用

    9.哈希表的遍历(entrySet/keySet遍历法)

    entrySet:
    1.for(Map.Entry entry:要遍历的哈希对象.entrySet())
    
    • 1
    • 2
    import java.util.HashMap;
    import java.util.Map;
    public class Hash {
        public static void main(String[] args) {
          HashMap<String,Double> hashMap=new HashMap<>(10);
          hashMap.put("apple",3.5);
          hashMap.put("organ",1.5);
          hashMap.put("bannda",7.5);
          for(Map.Entry entry:hashMap.entrySet()){
              System.out.println(entry.getKey()+" "+entry.getValue());
          }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    这里是引用

    1.keySet遍历法:
    Set<String> keys = hashMap.keySet();
    
    • 1
    • 2
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;
    public class Hash {
        public static void main(String[] args) {
          HashMap<String,Double> hashMap=new HashMap<>(10);
          hashMap.put("apple",3.5);
          hashMap.put("organ",1.5);
          hashMap.put("bannda",7.5);
    
          Set<String> keys = hashMap.keySet();
          for (String key:keys){
              System.out.println(key+" "+hashMap.get(key));
          }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    这里是引用

    10.哈希表的移除(remove)

    remove(); 哈希表的移除操作。
    
    • 1
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;
    
    public class Hash {
        public static void main(String[] args) {
          HashMap<String,Double> hashMap=new HashMap<>(10);
          hashMap.put("apple",3.5);
          hashMap.put("organ",1.5);
          hashMap.put("bannda",7.5);
          hashMap.remove("apple");
            System.out.println(hashMap);
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    这里是引用

  • 相关阅读:
    高德Android高性能高稳定性代码覆盖率技术实践
    经典算法之堆排序及优先队列
    OpenWrt上使用Zerotier打通多个局域网
    MYSQL学习之——约束
    前后端分离项目跨域请求的问题与解决办法
    Google Earth Engine —— 1986-2020年植被覆盖度一元线性回归分析(黄河流域上游为例)
    WPF必须掌握的技能之自定义控件——实战:自制上传文件显示进度按钮
    Win11文件类型怎么改?Win11修改文件后缀的方法
    降噪蓝牙耳机哪个牌子好?最便宜的蓝牙主动降噪耳机推荐
    Logstash 实战
  • 原文地址:https://blog.csdn.net/qq_69683957/article/details/127644776