zoukankan      html  css  js  c++  java
  • HashMap

    import java.util.HashMap;
    
    /*
    双列集合:
    -------------| Map  如果是实现了Map接口的集合类,具备的特点: 存储的数据都是以键值对的形式存在的,键不可重复,值可以重复。
    ----------------| HashMap  底层也是基于哈希表实现 的。
    HashMap的存储原理:
        往HashMap添加元素的时候,首先会调用键的hashCode方法得到元素 的哈希码值,然后经过运算就可以算出该
        元素在哈希表中的存储位置。 
        情况1: 如果算出的位置目前没有任何元素存储,那么该元素可以直接添加到哈希表中。
        
        情况2:如果算出 的位置目前已经存在其他的元素,那么还会调用该元素的equals方法与这个位置上的元素进行比较
        ,如果equals方法返回 的是false,那么该元素允许被存储,如果equals方法返回的是true,那么该元素被视为
        重复元素,不允存储。
    
    ----------------| TreeMap
    ----------------| Hashtable 
    
    */
    class Person{
        
        int id;
        
        
        String name;
    
    
        public Person(int id, String name) {
            super();
            this.id = id;
            this.name = name;
        }
        
        @Override
        public String toString() {
            return  "[编号:"+this.id+" 姓名:"+ this.name+"]";
            
        }    
        
        @Override
        public int hashCode() {
            return this.id;
        }
        
        @Override
        public boolean equals(Object obj) {
            Person p = (Person) obj;
            return this.id== p.id;
        }
    }
    
    
    public class Demo5 {
        
        public static void main(String[] args) {
            HashMap<Person, String> map = new HashMap<Person, String>();
            map.put(new Person(110,"狗娃"), "001");
            map.put(new Person(220,"狗剩"), "002");
            map.put(new Person(330,"铁蛋"), "003");
            map.put(new Person(110,"狗娃"), "007");  //如果出现了相同键,那么后添加的数据的值会取代之前 的值。
            System.out.println("集合的元素:"+ map);
            
            
            
        }
        
    }
  • 相关阅读:
    2013-11-26的工作-【工作日志】
    grails下的httpclient
    如何解决grails2.3.2中不能运行fork模式
    华丽的bootstrap3碰到土鳖IE6
    grails中报Cannot create a session after the response has been committed异常的解决办法
    听自己喜欢的文章-【睿读】
    动态规划----完全背包问题
    动态规划----最长公共子序列(LCS)问题
    动态规划----数字三角形问题
    动态规划----钢条切割问题
  • 原文地址:https://www.cnblogs.com/xufengyuan/p/6380206.html
Copyright © 2011-2022 走看看