「Javaソート豆知識」の編集履歴(バックアップ)一覧はこちら

Javaソート豆知識」(2008/03/21 (金) 16:40:39) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

**Javaソート豆知識 投稿者: 狩野衛 日付: 2007-09-26 23:57 下記五島さんの過去メールを抜粋 ---- お疲れ様です、五島です。 こっちはその2です。 今度は少し難易度が上がります。その分、使用頻度も減ります。 いつも大変お世話になっております。 eIT五島です。 使い慣れると意外と手軽なJavaソート。 昔は自分でソートアルゴリズム書いてましたよ。 (大学で習った講義の中で社会に出てから、一番役に立ったのはアルゴリズムだな~。まともに聞いてなかったけど) ま、そんなJavaソートですが、漢字を含んだ文字列は文字コード順、 オラクルSQLのORDERBY句によるソートは音読み順となってソートが行われるようです。 例:文字配列 "0","世","中\","1" があった場合、 ・オラクルのORDERBY句 "0","1","世","中\" ・javaソート "0","1","中\","世" となってしまいます。 これは文字コードソートの仕様だそうで、回避方針は調べた限り見つかりませんでした。 (ちなみに↑の例にてエクセル2003でデータの並び替えを行った場合Javaソートと同じ結果となりました) 漢字のソートを行いたい場合、SQLのソートを利用する 又は、文字コード順によるソートとなる事を事前に確認することが必要なようです。 ちなみに、ソートが食い違うのは漢字のみで英数や平仮名カタカナのソートは文字コードの関係上、なんとかなるかもしれません。(一応正規表現とほぼ同じ順序で並んでるので) 参考サイト http://www.asahi-net.or.jp/~DP8T-ASM/java/tips/I18NStringCollation.html http://otndnld.oracle.co.jp/products/database/oracle10g/application_development/pdf/TWP_Sorting_10gR1.pdf http://otndnld.oracle.co.jp/products/database/oracle10g/application_development/pdf/BWP_Power_of_Globalization_Technology_10gR2.pdf 以上、情報共有でした。 客先からよく来るんですよね、この要望。 ソートを行うときSQLだとおっそいから、DBアクセスしないようにしてくれ。とかそんなんが。 その場合、文字コード順になりますよ。と一言、釘を刺しておきましょう。 ----
**Javaソート豆知識 投稿者: K.M 日付: 2007-09-26 23:57 下記Gさんの過去メールを抜粋 ---- お疲れ様です、Gです。 こっちはその2です。 今度は少し難易度が上がります。その分、使用頻度も減ります。 いつも大変お世話になっております。 Gです。 使い慣れると意外と手軽なJavaソート。 昔は自分でソートアルゴリズム書いてましたよ。 (大学で習った講義の中で社会に出てから、一番役に立ったのはアルゴリズムだな~。まともに聞いてなかったけど) ま、そんなJavaソートですが、漢字を含んだ文字列は文字コード順、 オラクルSQLのORDERBY句によるソートは音読み順となってソートが行われるようです。 例:文字配列 "0","世","中\","1" があった場合、 ・オラクルのORDERBY句 "0","1","世","中\" ・javaソート "0","1","中\","世" となってしまいます。 これは文字コードソートの仕様だそうで、回避方針は調べた限り見つかりませんでした。 (ちなみに↑の例にてエクセル2003でデータの並び替えを行った場合Javaソートと同じ結果となりました) 漢字のソートを行いたい場合、SQLのソートを利用する 又は、文字コード順によるソートとなる事を事前に確認することが必要なようです。 ちなみに、ソートが食い違うのは漢字のみで英数や平仮名カタカナのソートは文字コードの関係上、なんとかなるかもしれません。 (一応正規表現とほぼ同じ順序で並んでるので) 参考サイト http://www.asahi-net.or.jp/~DP8T-ASM/java/tips/I18NStringCollation.html http://otndnld.oracle.co.jp/products/database/oracle10g/application_development/pdf/TWP_Sorting_10gR1.pdf http://otndnld.oracle.co.jp/products/database/oracle10g/application_development/pdf/BWP_Power_of_Globalization_Technology_10gR2.pdf 以上、情報共有でした。 客先からよく来るんですよね、この要望。 ソートを行うときSQLだとおっそいから、DBアクセスしないようにしてくれ。とかそんなんが。 その場合、文字コード順になりますよ。と一言、釘を刺しておきましょう。 ----

表示オプション

横に並べて表示:
変化行の前後のみ表示:
目安箱バナー