根据产品枚举中的类别对项目进行分组 - java

时间:2017-12-10 23:49:30

标签: java enums

我是java的编程和编码新手。我正在申请分配,允许使用不同的产品代码和名称等输入产品。在此之下,他们可以根据所选的枚举选择其产品的类别。

我想知道是否有任何方法可以根据所选择的枚举打印出产品,“技术”部分下的所有产品一起打印出来,而其他产品用于在不同标题下打印出来的“食品”。

1 个答案:

答案 0 :(得分:0)

您最有可能寻找groupingBy收藏家。实质上,groupingBy收集器允许通过某个给定属性对对象进行分组,并将结果存储在Map实例中。

完成分组后,您只需检索属于特定组的对象列表,然后打印出要显示的数据。

如果您已经对产品进行了分组,并且只是想根据枚举值打印出所有对象列表,那么在给定Map实例存储组的情况下,我会在类级别声明建议您创建一个采用枚举类型的单个参数的方法,然后在方法中创建一个switch语句,指定所有可能的值,然后在每种情况下只打印出与case对应的列表值。现在,它是调用此方法并传入与您要打印的组对应的枚举值。

考虑到Product类已覆盖toString方法,所有内容都应按预期工作,否则您需要覆盖toString方法。

至于格式化,您可能正在寻找format方法。您可以找到更多字符串格式示例here