• 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

    这里是引用

  • 相关阅读:
    Typecho中handsome主题如何增加侧边导航栏
    SpringBoot的简单介绍
    Ubuntu18虚拟机通过SSH连接嵌入式板&通过rcp传输文件到指定目录
    今天面试遇到这样一个问题:一个TCP连接可以发多少个HTTP请求?
    59.【C++迷宫小游戏(超详细,有手就行)】
    BadTokenException: Unable to add window -- token null is not valid
    JVM 内存模型
    Leetcode 907.子数组的最小值之和(中等)
    代码随想录算法训练营第三十四天| LeetCode1005. K 次取反后最大化的数组和、LeetCode134. 加油站、LeetCode135. 分发糖果
    C语言编程常见错误
  • 原文地址:https://blog.csdn.net/qq_69683957/article/details/127644776