如何将项目“复制”到n个引用列表中?

时间:2013-02-19 09:08:02

标签: java list copy

我在Java中有一些对象(比如说Double),我需要一个长度为n的列表,每个元素的元素都是对该Double的引用。我想要这样做的成语,希望但不一定不使用仅O(1)内存。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

为此目的创建数据结构怎么样? 这样的事情:

import java.util.HashMap;

public class SpecialArray {
    private HashMap<Integer, Double> elements;
    private Double specialElement;
    private int size;

    public SpecialArray(Double specialElement, int size) {
        this.elements = new HashMap<Integer, Double>();
        this.specialElement = specialElement;
        this.size = size;
    }

    public Double get(int index) {
        if(index<0 || index>=size) {
            return null;
        }
        if(elements.containsKey(index)) {
            return elements.get(index);
        }
        return specialElement;
    }

    public boolean add(Double d, int index) {
            if(index<0 || index>=size || elements.containsKey(index)) {
                    return false;
            }
            elements.put(index, d);
            return true;
    }
}

当然,这不是一个完整的例子,可以用泛型类型编写。 但是如果你的列表中还有其他一些元素,那么我认为这很有用。

答案 2 :(得分:0)

Collections.fill()

可能会帮到你