いくつかのアイテムの配列リストがあります。項目には、OFF、FLOOR、RB1、RB2、RB3、または RB4 に等しい特定の int フィールド LYING がある場合があります。
たとえば、OFF は次のように定義されます。
public static final int OFF = 0;
いくつかの特定のグローバル変数に関して、これらの要素をカスタムの方法で注文したいと思います。たとえば、次のようになります。
- arraylist の先頭にあるすべての RB1 アイテム、任意の RB3 アイテムの後のすべての RB2 アイテム (OFF アイテムに関係なく)、および arraylist の最後のすべての RB4 アイテム。
私のケースに最適なソリューションはどれですか?
いくつかのカスタムを書くことに焦点を当てます:
public int compare(Object o1, Object o2) {
if(globalVariable0 > 0) {
if(o1.getLying() == o2.getLying)
return 0;
if(o1.getLying() == RB1 && o2.getLying != RB1)
return -1;
...
}else{
...
}
また..?