gpt4 book ai didi

java - 如何在Java中克隆BlockingQueue?

转载 作者:行者123 更新时间:2023-12-01 07:18:04 25 4
gpt4 key购买 nike

在我的 Java 应用程序中,我有

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

如何克隆它?

最佳答案

  1. 基本副本:Queue的副本

    BlockingQueue<HashMap<Integer, double[]>> q; // = ...
    BlockingQueue<HashMap<Integer, double[]>> copy = new LinkedBlockingDeque<>(q);
<小时/>
  • 深层复制: Queue 的副本和 Map

    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));
    }
  • <小时/>
  • 非常深的副本:Queue的副本,Mapdouble[]

    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);
    }
  • 关于java - 如何在Java中克隆BlockingQueue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51190783/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com