RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
SELECTED ENTRIES
RECENT COMMENTS
RECENT TRACKBACK
CATEGORIES
ARCHIVES
MOBILE
qrcode
LINKS
PROFILE
OTHERS

05
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--
>>
<<
--

bose999's memo

<< GanttProject 2.0-pre1 | main | コレクションに格納したクラスをソートする方法 (2/4) >>
コレクションに格納したクラスをソートする方法 (1/4)
0
    Java開発時にコレクションの中身をソート順に取り出したい。
    と思ったことは無いだろうか?
    
    似たような事が、Javaの場合Setを利用すれば実現が出来る。
    
    ソートされるインスタンスになるクラスを作る際に
      ・Comparableをimplementsする。
      ・compareToメッソッドを作成し、
       ソートアルゴリズムを記述する。
      ・equalsメソッドを作成し、オブジェクトを
       同一と判定するアルゴリズムを記述する。
      ・hashCodeメソッドを作成し、hashCodeを返す
    という約束事を守ってクラスを作る。
    
    ソートを行う側の別クラスでSetに格納する。
    格納したSetから、Iteratorで取り出す。
    
    これだけの手順で、自分の作成したクラスが
    自分の意図どおりにソートされて、
    簡単にIteratorで取り出す事が出来るようになる。
    
    下記のサンプルコードと実行結果を見て頂くと
    上記の内容がご理解いただけると思う。
    
    
    SampleObjectSortTarget.java
       Setに格納して、ソートして取り出したいクラス
       sortKey1〜4のフィールドを持ち、sortKey1〜4の
       ソート順でソートする事を目的とする。
    
    SampleObjectSort.java
       1.Setにソートされていない順番で
        SampleObjectSortTargetを
        インスタンス化して格納し、表示
    
       2.格納してあるインスタンスのフィールドを
        セットしなおして、Setにつめなおす。
        (ソートして詰めてはいない。
        Iteratorで取り出し順に)
    
       3.再度、Setにソートされていない順番で
        SampleObjectSortTargetを
        インスタンス化して格納し、表示
    
    コレクションに格納したクラスをソートする方法 (1/4)へ
    コレクションに格納したクラスをソートする方法 (2/4)へ
    コレクションに格納したクラスをソートする方法 (3/4)へ
    コレクションに格納したクラスをソートする方法 (4/4)へ
    
    | プログラム開発関連 | 22:15 | - | trackbacks(0) | - | - |
    http://bose.techie.jp/trackback/107965