2017-12-14 14 views
-1

私はSpringとjavaを初めて使用しています。私は2つの春の豆のプロパティ値を比較し、それに応じてソートしようとしています。春の豆をソートしてコレクションに直接豆を保存する

Main.java

今私は春の豆/オブジェクトをソートした領域に基づいて、コレクション内のオブジェクトを保存する領域に基づいて
public class Main { 

public static void main(String[] args) { 

    ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml"); 
    Circle circle = (Circle) context.getBean("circle"); 
    Rectangle rect = (Rectangle) context.getBean("rectangle"); 
    Square sq = (Square) context.getBean("square"); 
    System.out.println("Area of Circle: "+circle.calculateArea()); 
    System.out.println("Area of Rectangle: "+rect.calculateArea()); 
    System.out.println("Area of Square: "+sq.calculateArea()); 
} 

} 

。誰もここで何を使うべきかを提案できますか?コンパレータ?もしそうなら、私たちは春の豆のためにそれをどう使うことができますか人生を楽にする春に利用できる追加の方法はありますか?誰か提案してください、または例を提供してくださいできますか?または同様のスレッド?

+0

春の豆はPOJOです;-) –

+0

このユースケースはどうすれば実現できますか? @SundararajGovindasamy –

答えて

0

多型を使用します。

  1. インターフェイス(おそらくThingsWithAreaと呼ばれます)を作成します。
  2. 各シェイプクラスでこのインターフェイスを実装します。
  3. Collection(私はListが好きです)に豆を保管してください。
  4. Comparator<ThingsWithArea>クラスを作成します。 エリアをソート基準として使用します。
  5. コンパレータを使用してリストをソートします。
+0

このような意味ですか?List areaList =新しいArrayList (); //サークルとRectagleとSquareを追加して比較しますか?@DwB –

+0

'List areaList =新しいLinkedList <>() '、しかしはい。リストを取得したら、オブジェクトを作成してリストに追加する必要があります。 – DwB

+0

あなたは@DwBによって提案されたとおりにこの処理を行います。 –