簡體   English   中英

如何在Java中克隆BlockingQueue?

[英]How to clone a BlockingQueue in Java?

在我的Java應用程序中

BlockingQueue<HashMap<Integer, double[]>> q

我該如何克隆?

  1. 基本副本Queue副本

     BlockingQueue<HashMap<Integer, double[]>> q; // = ... BlockingQueue<HashMap<Integer, double[]>> copy = new LinkedBlockingDeque<>(q); 

  1. 深層副本QueueMap的副本

     BlockingQueue<HashMap<Integer, double[]>> q; // = ... BlockingQueue<HashMap<Integer, double[]>> copy = new LinkedBlockingDeque<>();//or other for(HashMap<Integer, double[]> map : q){ copy.add(new HashMap<>(map)); } 

  1. 非常深的副本QueueMapdouble[]的副本

     BlockingQueue<HashMap<Integer, double[]>> q; // = ... BlockingQueue<HashMap<Integer, double[]>> copy = new LinkedBlockingDeque<>();//or other for(HashMap<Integer, double[]> map : q){ Map<Integer, double[]> mapCopy = new HashMap<>(); for(Map.Entry<Integer, double[]> entry : map.entrySet()){ double[] array = entry.getValue(); mapCopy.put(entry.getKey(), Arrays.copyOf(array, array.length)); } copy.add(mapCopy); } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM