- - PR -
Listの中のJavaBeansをソート
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-01-29 23:57
こんにちわ。ソートのアルゴリズム?に関してご教授ください。
現在、Servlet(2.3)とJSP(1.2)でTomcat(4.1.27)とStruts(1.1)を使用して 図書検索システムのようなものを製作しています。 一覧表示の部分を作成しているのですが、 JavaBeans(下記list1)に表の1行分のデータを格納し、 それをArrayList(下記list2)に入れて表を作成しています。 以下の例では最初の表示時は図書コードの昇順に表示されますが、 表示後のユーザのアクション(ソートボタン押下)によって タイトルの降順に並べ替えたいと思います。 この場合に、初期表示時に取得したデータから過不足なくソートするのに 良い方法は無いでしょうか。 "リストの中のJavaBeansをJavaBeansの属性でソート"です。 それとも、そもそもこのようなシステムを作る際にソートを考慮するならば JavaBeansとリストではなくて他の方法を使用するのが良いのでしょうか? /** * 表の1行分を格納するデータビーン * (list1) **/ public class BookBean { // 図書コード private String bookId = ""; // タイトル private String title = ""; /** * String */ public String getBookId() { return bookId; } /** * String */ public String getTitle() { return title; } /** * void */ public void setBookId(String string) { bookId = string; } /** * void */ public void setTitle(String string) { title = string; } } /** * 表のデータを格納するコレクション * (list2) **/ 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 ArrayList list = new ArrayList(); for (int i = 1; i <= 10; i++) { BookBean bean = new BookBean(); bean.setBookId(i + 1000 +""); bean.setTitle(i + "テスト"); list.add(bean); } | ||||
|
投稿日時: 2004-01-30 00:21
java.util.Collections#sort(List, Comparator)を使えば可能です。
Javaでするならこんな形で。DB由来のデータならSQLでソートした方がいいと思いますが。 | ||||
1
