我是java的编程和编码新手。我正在申请分配,允许使用不同的产品代码和名称等输入产品。在此之下,他们可以根据所选的枚举选择其产品的类别。
我想知道是否有任何方法可以根据所选择的枚举打印出产品,“技术”部分下的所有产品一起打印出来,而其他产品用于在不同标题下打印出来的“食品”。
答案 0 :(得分:0)
您最有可能寻找groupingBy收藏家。实质上,groupingBy收集器允许通过某个给定属性对对象进行分组,并将结果存储在Map
实例中。
完成分组后,您只需检索属于特定组的对象列表,然后打印出要显示的数据。
如果您已经对产品进行了分组,并且只是想根据枚举值打印出所有对象列表,那么在给定Map
实例存储组的情况下,我会在类级别声明建议您创建一个采用枚举类型的单个参数的方法,然后在方法中创建一个switch语句,指定所有可能的值,然后在每种情况下只打印出与case
对应的列表值。现在,它是调用此方法并传入与您要打印的组对应的枚举值。
考虑到Product
类已覆盖toString
方法,所有内容都应按预期工作,否则您需要覆盖toString
方法。