gpt4 book ai didi

java - 将元素和集合连接成一个新集合

转载 作者:行者123 更新时间:2023-12-02 02:51:26 25 4
gpt4 key购买 nike

我有一个元素和单个元素的Collection。我希望我的 getter 函数看起来有点像这样

public List<Element> getElements(boolean includeOtherElement){

if (includeOtherElement){
return elements + otherElement; //Obviously this doesn't work, but I'm looking for something that would work like this
}

return elements;

}

有没有办法可以在一行中实现此行为,例如使用 Stream API 或类似的东西?

编辑:

我后来意识到我不应该在 getter 方法中修改状态。

最佳答案

如果您不想将 otherElement 添加到元素列表中,但仍想返回一个列表,则必须提供一个新列表。

简单的方法:

public List<Element> getElements(boolean includeOtherElement){

if (includeOtherElement){
List<Element> extendedList = new ArrayList<>(elements);
extendedList.add(otherElement);
return extendedList;
}

return elements;
}

这将创建列表的浅拷贝。

如果您确实愿意,您可以提供自己的列表实现,它将第一个索引委托(delegate)给元素列表,将最后一个索引委托(delegate)给 otherElement;

关于java - 将元素和集合连接成一个新集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43788407/

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