我不确定我的问题是出在代码的深度复制部分,还是我在将元素添加到原始列表时犯了错误。到目前为止我所掌握的是:
public class OwnedPiggyBank
{
List<Coin> bank;
private Owner owner;
public OwnedPiggyBank(Owner owner)
{
this.owner = owner;
bank = new ArrayList<>();
}
public void add(List<Coin> coins)
{
bank.addAll(coins);
}
public List<Coin> deepCopy()
{
List<Coin> coins = new ArrayList<>();
for (Coin c : bank)
{
coins.add(new Coin(c));
}
return coins;
}
...其中与此相关联的测试用例是:
public void test()
{
OwnedPiggyBank b = new OwnedPiggyBank("Lola");
List<Coin> coins = new ArrayList<Coin>(Arrays.asList(Coin.PENNY, Coin.LOONIE, Coin.TOONIE));
b.add(coins);
OwnedPiggyBank c = new OwnedPiggyBank(b);
assertEquals(coins, c.deepCopy());
}
在构造函数Public OwnedPiggyBank(所有者所有者)
中,您有
bank = new ArrayList<>();
因此,在deepcopy
bank
中,是空的
assertEquals(coins, b.deepCopy());
更有意义
public OwnedPiggyBank(OwnedPiggyBank owner)
{
this.owner = owner;
bank = owner.deepCopy();
}
我想列个这样的单子。请帮帮我.谢了。
问题内容: 与列表变平相反。 给定一个列表和一个长度为n的列表,返回一个长度为n的子列表的列表。 一个例子: 如果列表是: n是: 返回: 有没有一种更雄辩/简洁的方法? 顺便说一句,将列表追加到列表时(在上面的上下文中)是首选: 要么: 鉴于(根据Summerfeild的“ Python 3编程”),它们是一样的吗? 谢谢。 问题答案: 这样的列表列表可以使用列表理解来构造: 还有石斑鱼成语:
因此,我有一个基本的树结构,该结构由树节点组成,该树节点链接到具有父级和子级引用的其他树节点。我想创建一个方法,该方法返回一个 Stream,该流从叶节点流式传输到根节点或从根到叶。我已经实现了这个,但我正在寻找一种创建最少对象的解决方案。最好没有。这是我的代码: 这很好,但我的“问题”是,为每个流调用创建了很多对象。 StreamSupport.stream 创建新的 ReferencePipe
我现有的使用阻止队列的代码创建了一个阻止队列列表(如私有列表 任何帮助将不胜感激。
对于C#中泛型列表的泛型列表的概念,我似乎有点难以理解。我认为问题源于
我试图用N深度展平ArrayList。为此,我尝试使用流API的flapMap方法。我能得到它。但是我必须根据列表的数量重复使用flatMap()方法。如果再使用一个flatMap()方法,它会显示编译时错误。是否有任何方法可以动态地完成它。 这是我使用的代码: