【发布时间】:2023-01-10 19:44:41
【问题描述】:
我有这样一个产品类。
@Data
public class Product {
private UUID id;
private String name;
private String categoryName;
private String frontName;
}
我有一个产品列表——有些产品名称是相同的,即使它们有不同的类别。我需要为具有相同名称的产品执行以下操作: product.setFrontName(product.getName() + "," product.getCategoryName())
对于具有唯一名称的产品,只需要做:product.setFrontName(product.getName())
我尝试了流的各种选项,但最终找不到解决方案。
你能分享一个更有效的解决这个任务的方法吗?谢谢你。
【问题讨论】:
-
如果您的数据库中有一个具有唯一名称的产品并添加另一个具有相同名称(但其他类别)的产品,那么形式上唯一的产品是否也应该更改其在数据库中的名称?
-
当您添加新产品时,我们需要查看您的代码,因为在这种情况下,您可能需要更改新产品的 FrontName,也可能需要更改旧产品的 FrontName。
-
这是一个两步过程。首先,您需要确定哪些是唯一名称。做完这些,就可以进行需要的操作了
-
@XtremeBaumer 有一个产品类产品列表。如果工作表包含名称在集合中仅出现一次的产品,则它是唯一的。为此,我需要执行 product.setFrontName(product.getName)。
-
如果列表包含名称多次出现的产品,那么它不是唯一的,对于这样的产品,我需要执行 product.setFrontName (product.getName + "," product.getCategoryName)
标签: java algorithm function collections stream