美文网首页
关于ConcurrentHashMap的扩容操作

关于ConcurrentHashMap的扩容操作

作者: jackLee | 来源:发表于2016-09-23 14:26 被阅读860次

关于ConcurrentHashMap

在并发编程中,经常会用到ConcurrentHashMap,因为HashMap是非线程安全的,而ConcurrentHashMap是线程安全的。项目中通常会对ConcurrentHashMap进行封装,此时就会涉及到对ConcurrentHashMap扩容的操作。

代码实现:

<pre>
import java.util.concurrent.ConcurrentHashMap;

/**

  • Created by lenvovo on 2016/9/23.
    */
    public class TestCopy {

    public static ConcurrentHashMap<String,String> names = new ConcurrentHashMap<>(6666);

    static {
    for(int i=0;i<18;i++){
    names.put("jack"+i,"jacklee"+i);
    }
    }
    public static void main(String []args){
    ConcurrentHashMap<String,String> copy_names = new ConcurrentHashMap<>(88888);
    for(ConcurrentHashMap.Entry<String,String> name:names.entrySet()){
    System.out.println(name.getKey()+'\t'+name.getValue());
    copy_names.put(name.getKey(),name.getValue());

     }
     System.out.println("nmaes size -----:"+names.size());//返回的是含有数据的大小-->18,而不是容量大小
     System.out.println("nmaes size -----:"+copy_names.size());
    
     for(ConcurrentHashMap.Entry<String,String> copy_name:copy_names.entrySet()){
         System.out.println(copy_name.getKey()+'\t'+copy_name.getValue());
     }
    

    }
    }

</pre>

经测试,以上代码能实现ConcurrentHashMap数据的复制,即能实现ConcurrentHashMap的扩容。

参考:

相关文章

网友评论

      本文标题:关于ConcurrentHashMap的扩容操作

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