2017-12-10 5 views
1

私はJavaでプログラミングとコーディングを始めました。私は、異なる製品コードと名前などで商品を入力できるようにするための申請をしています。これにより、選択した列挙体に基づいて商品のカテゴリを選択できます。製品の列挙型でカテゴリに基づいて項目をグループ化する - java

たとえば、選択された列挙型に基づいて製品を印刷する方法があるかどうか、「技術」セクションのすべての製品が一緒に印刷され、「食品」が異なる見出しの下に一緒に印刷される。

答えて

0

あなたはおそらくgroupingByコレクタを探しています。本質的には、groupingByコレクタでは、オブジェクトをいくつかのプロパティでグループ化し、その結果をMapインスタンスに格納することができます。

あなたは、単に特定のグループに属しているオブジェクトのリストを取得し、表示させたいデータをプリントアウトすることができ、グループ化を行ってきた後。


すでに製品をグループ化して、クラスレベルで宣言されているグループを格納Mapインスタンス与えられた、列挙型の値に基づいてオブジェクトのすべてのリストをプリントアウトでちょうど興味を持っているしている場合は、私と思います列挙型の単一のパラメータを取るメソッドを作成し、可能なすべての値を指定してメソッド内にswitchステートメントを作成し、各ケース内で単にcaseの値に対応するリストを出力することをお勧めします。今は、このメソッドを呼び出して、印刷したいグループに対応する列挙型の値を渡すことです。

ProductクラスがtoStringメソッドをオーバーライドしたことを考慮すると、すべてが正常に動作するはずです。toStringメソッドをオーバーライドする必要があります。

フォーマットについては、おそらくformatメソッドが必要です。より多くの文字列形式の例hereを見つけることができます。

関連する問題