- ベストアンサー
Javaのオブジェクトのソート方法について
Javaに関する質問です。 配列を用いてオブジェクトをつくり、そのフィールドの内容を用いて配列のオブジェクトをソートしたいのですが、どのようにプログラミングをすればよいのでしょうか? 方法をご存知の方がおりましたら、解答よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
関連するQ&A
- JAVAのオブジェクト配列とは何でしょうか
JAVAのオブジェクト配列とは何でしょうか ネットでいろいろ調べてみたのですが、あまり掲載がなくて・・・ また普通の配列を使うより何かメリットがあるでしょうか
- 締切済み
- Java
- ★Java1.5 オブジェクトのソートについて ソートキーを2つ指定する方法★
困っています。ご存知の方教えてください。 リスト(ArrayList<UserBean>)の中に、 以下の用に2つのプロパティを持つBeanオブジェクトがが複数入っています。 --------------- UserBean{ private String name; private String no; // setter getter は省略 } --------------- このリストの中に入っているオブジェクトをソートしたいのですが、うまい方法が見つかりません。 また、ソートを行うにあたって2つのキーを指定してソートしたいです。 (第1優先Key = name 第2優先Key = no) keyが1つのソートであれば、jakarta commonsのクラスを利用して、このように (Collections.sort( list , new BeanComparator("name"));) ソートできたのですが、 ソートキー2つとなると手が止まってしまいました・・・。 commonsのクラスで2つキーを指定する方法もあるのでしょうか。 簡潔にオブジェクトをソートできる方法ご存知の方いましたらご教授下さい。 お願いいたします。
- ベストアンサー
- Java
- Javaで2次元配列で文字によるソート方法
2次元配列を使用して、上の図のような配列を下のように文字にってソートしたいのですが、やり方が分かりません。 ちなみに、すべて文字型です。 どなたかJavaによるコードを教えてください。 よろしくお願いします。
- ベストアンサー
- Java
- Javaでリストオブジェクト連結するプログラム
Javaプログラミングについて質問です。 2つのリストオブジェクトを連結して、新規のリストオブジェクトを生成する関数と、 Dateオブジェクトをフォーマットし、String型に変換する関数を独自に作りたいのですが どうすればいいでしょうか? Java勉強し始めたばかりなので、どのようにソースを記述すればいいか分かりません。
- ベストアンサー
- Java
- java 配列のソートについて
JAVAを現在独学で勉強中ですが、わからないコードがあります。 プログラミングの先輩方、暇なときにでも教えてください。 for(int i=0; i<test.length; i++){ String str =br.readLine(); test[i] =Integer.parseInt(str); } for(int s=0;s<test.length-1;s++){ for(int t=s+1; t<test.length;t++){ if(test[t]>test[s]){ int tmp =test[t]; test[t] =test[s]; test[s]=tmp } } } 2回目のtest.length-1の-1はどういった役割を果たしてるんでしょうか? またjavaの構文の中でも、配列のソートがどうしても苦手です。 何かソートを理解するのにコツみたいなものがあれば、ご教授ください。 宜しくお願い致します。
- ベストアンサー
- Java
- Javaのソートに関する質問です。
Javaのソートに関する質問です。 CSVから取得したデータの一つをキーとして降順にソートしたいのでしょうが、どのような方法が効果的でしょうか?関数が利用できるのであれば関数を使用したいのですが。。。 データの詳細を以下に記載します。 環境 JavaSE5.0 CSVデータ ※ソート条件 ・キー内容は「wwwwwwww-xxxxxxxx-yyyyyyyy-zzzzzzzz」という形式で、 「wwwwwwww」が1番、「xxxxxxxx」が2番、というように、左側の数値が優先されます。 (ソート前)キー内容 タイトル 11111111-22222222-33333333-4444444 テスト1 22222222-33333333-44444444-5555555 テスト2 11111111-00000000-22222222-3333333 テスト3 22222222-44444444-55555555-6666666 テスト4 (ソート後)キー内容 タイトル 11111111-00000000-22222222-3333333 テスト3 11111111-22222222-33333333-4444444 テスト1 22222222-33333333-44444444-5555555 テスト2 22222222-44444444-55555555-6666666 テスト4
- 締切済み
- Java
- JavaのObjectからintへの型変換について
JavaのObject[][]からint[][]への型変換について、質問があります。 Jtableの表の中身を構成する要素【Object[][]】を取り出し、一部をint[][]として数字の条件と比較したいと考えております。 Object型の配列を簡単にintに変換できる方法は例えばどの様なものがあるのでしょうか? 教えていただけるとありがたいです。
- ベストアンサー
- Java
- JavaのRandomAccessFileについて教えてください。
お世話になります。 Java(アプレットとして使用しています。)を最近から勉強し 始めました。 現在、作成しようとしているプログラムは、C言語で言うところの 構造体の項目をバイナリファイル内の任意の位置に読み書きしたいと 思っております。 現在、Javaでは、構造体の概念が見当たらなかったので、 Classで各フィールドを定義して、各フィールドの値を ByteBufferでByte配列に配置して、RandomAccessFileでこの配列の内容を書き込んだり、この逆の方法で 読み出したりしています。 この方法だと、各フィールドをわざわざ一つ一つByte配列に 配置しなければならず、面倒です。 他の言語の構造体やレコードの概念の様にフィールドの塊を 一気にランダムファイルに簡単に読み書きする方法は有りませんでしょうか? ご存知の方がいらっしゃいましたら、ご教示の程、是非よろしくお願いします。
- ベストアンサー
- Java
- javaのソートについて。
うまく文章で伝えられないかもしれませんがお願いします。 csvファイルの中に 名前、住所、電話番号、アドレス と入った一文が複数あるとします。 これを名前の50音順に並べたいのですが、 文字でもArrays.sortでソートは可能でしょうか? 一応やってみたのですがうまくいきませんでした。 さらに質問なんですが私はこのcsvファイルの一文を削除したり、変更したりというプログラムを作っています。 変更や削除の場合は一度配列に全ての文を入れてその後削除、変更を行った後に またファイルに書き込むという形をとっています。 この場合50音順に並べるには一度書き込みが終った後もう一度読み込んでソートをして 書き込みなおすしか方法はないのでしょうか? ご教授お願いします。
- ベストアンサー
- Java
補足
御礼が遅くなり大変失礼しました。ソースまで書いていただき、大変助かりました。親切なご回答ありがとうございます。 早速サンプルプログラムを実行させてみたのですが、実行結果が以下のようにソートされていない状態で出てきてしまいます。理由がわからないので、もしよろしければ教えてください。よろしくお願いします。 before sort. number:123 gasoline:22.0 number:456 gasoline:55.0 number:789 gasoline:33.0 after sort. number:123 gasoline:22.0 number:456 gasoline:55.0 number:789 gasoline:33.0