[Android][JAVA]ArrayListをクラスの要素でソート

なんか、忘れてて微妙にはまったのでメモ。 ArrayListに自前クラスを入れて、自前クラスの要素でソートをする場合の例。MojiSproteってのは AndEngineのSpriteのサブクラス。ようはレイヤー順に並べ替えたかった。

		ArrayList<MojiSprite> sorted_list = new ArrayList<MojiSprite>();
		Collections.sort(sorted_list, new MojiArrayLayerComparator())

で比較関数の定義

	 public class MojiArrayLayerComparator implements java.util.Comparator<MojiSprite>{
		  public int compare(MojiSprite o1, MojiSprite o2){
		    return o2.getZIndex() - o1.getZIndex();
		  }
		}

ここで、注意がComparatorとかパラメータを一致させないと、ビルド時に警告がでる。

http://masao6739.blog89.fc2.com/blog-entry-7.html

をみてやっと思い出した。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください