ArrayListのソート

1173 ワード

Javaでは、Listは非常に実用的でよく使われるコンテナです.特にJavaEEでは、Beanのペアオブジェクトをロードすることがよくあります.今日はリストの並べ替え問題に遭遇しましたが、わざわざ心得を書きます.
 
ListのソートにはJavaがあります.
 
ステップ1:コンパレータを定義します.Comparatorインタフェースを実装するクラスを定義し、comparareメソッドを書き換え、ソートの条件を定義します.
                                    ここで注意すべき点はいくつかあります.1、ComparatorリードTタイプは、ソートするListのTと一致し、デフォルトはObjectタイプです.
                                                               2、compareメソッドを書き換える場合、異なる比較条件での戻り値の違いに注意し、戻り値は1,0,-1であり、これらの戻り値の違いはソートの順序に影響し、詳細は次の例を参照してください.
 
public class ArrayComparator implements Comparator<LocationVo>{
	
	@Override
	public int compare(LocationVo obj1, LocationVo obj2) {
		if(obj1.getLength()==obj2.getLength()){
			return 0;
		} else if(obj1.getLength()>obj2.getLength()){
			return 1;
		} else {
			return -1;
		}
	}

}

 次の手順は簡単です.
 
ArrayList<LocationVo> list = new ArrayList<LocationVo>();
.............
 
Collections.sort(list,new ArrayComparator());