--------(--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2012-12-17(Mon)

文字列の改行

\nとか\r\nを直打ちしたくないのでこれ↓。

System.getProperty("line.separator");

ついでに・・・、複雑な文字列はStringではなくStringBuilderを使う。
StringBuilder message = new StringBuilder("こんにちは。");
message.append(System.getProperty("line.separator")).append("よろしく");

使うときにtoString()すればOK
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

2012-12-08(Sat)

独自クラスをソートする

定義したクラスを任意のメンバーをキーとしてソートする方法

例)
Class TestClass{
    int index;
    String name;
}

というクラスがあるとする。
indexをキーにTestClassの配列をソートするには以下のコードを使用する。

public void accSortTestClass(ArrayList<TestClass> testClassArray){
    Object[] objectArray = testClassArray.toArray();
    Arrays.sort(objectArray, new IndexAccComparator());

    //ソート後Arrayを利用する時はキャストして使う
    //例:
    //int max = objectArray.length;
    //ArrayList<String> result = new ArrayList<String>(max);
    //for(int index = 0 ; index < max ; index++){
    //    result.add( ((TestClass)objectArray[index]).name );
    //}
}

public class IndexAccComparator implements Comparator{
    public int compare(Object o1, Object o2){
        return ((TestClass)o2).index - ((TestClass)o1).index;
    }
}

・クラスArrayをtoArray()してObject[]にする。
・Comparatorをimplementsした独自Comparatorを定義する。
・compareメソッド内でソート順を計算し、結果を返す。

大体こんな感じ

テーマ : プログラミング
ジャンル : コンピュータ

カテゴリ
検索フォーム
RSSリンクの表示
リンク
お問い合わせ

名前:
メール:
件名:
本文:

ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。