A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
ソートには比較関数が必要ですが、厳密な意味で ASCII 順に並び替えるのは少々面倒なので
上位互換である Unicode(UTF-16) 順に並び替える String#compareTo で代用しましょう
http://docs.oracle.com/javase/jp/6/api/java/lang …
このメソッドは、文字列を「Unicode値の順番で辞書的に」比較します
辞書的とは、辞書における項目の並べ方の様なルールです
1. 文字を UTF-16 コード値(≒ASCII)にした場合に、値が小さいほうを先にする
2. n 文字目が同じなら、n+1 文字目で判断する
3. 文字数が異なるなら、短いほうを先にする
以下サンプルです
昨今は富豪的プログラミングでもなんら問題ないので、10文字とか50行とかの制限は考慮しません
String[] lines = sample1から行単位に全部読み取り();
for (int i = 0; i < length-1; i++) {
for (int j = i+1; j < length; j++) {
if (lines[i].compareTo(lines[j]) > 0) { linesのiとjを入れ替える処理(); }
}
}
sample2に行単位に全部書き込み(lines);
// 実行結果の例
// cad ← 次行と比べて、2文字目が 'a' U+0061 < 'f' U+0066
// cfd ← 次行と比べて、1文字目が 'c' U+0063 < 'f' U+0066
// fa ← 次行と比べて、2文字目まで同じだが文字数が短い
// faa
No.4
- 回答日時:
>ASCIIコードを基準にソートするということです
文字コードで並べているので、ASCIIファイルならASCII順になりますよ。
EBCDICファイルならEBCDICコード順になります。
No.2
- 回答日時:
元のファイルがASCIIコードのファイルであればInputStreamReaderでUS-ASCIIでint配列に読み込んでベタに比較するのが王道でしょう。
英字の範囲であればASCIIもUNICODEも同じ並びなのでStringのcompareToでも行けるはずです。
まあ、ASCIIなんて環境依存するファイルは扱いたくはないですね。UNICODEファイルにすることをお勧めします。
この回答への補足
半角英数字のテキストファイルです
sample1.txt
adw31rk
wd24
r1t4
といった場合です
この場合、rとwを比較と言うのはどのようにすればよろしいのでしょうか
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VBA】テキストファイルを指定...
-
EXCELのVBAでEOFを誤認識
-
同一フォルダにある複数のテキ...
-
unixのシェルスクリプトで特定...
-
VBAでテキストファイルを最後ま...
-
テキストファイルの最終行を消...
-
アスキー、バイナリーの違い、...
-
ファイルのアクセス回数について
-
エクセルのプロパティーでセキ...
-
カンマ区切りのCSVファイルから...
-
エクセルで複数のコメントのサ...
-
エクセルvbaでdocuworksprinter...
-
バッチファイル XCOPYで上書き...
-
[エクセル]コピーするとオブジ...
-
xcopyでのバッチコピー方法でコ...
-
Windows10でコマンドプロンプト...
-
ExcelブックをGoogleスプレッド...
-
frxファイルの役目
-
Vba初心者です。下記のコード助...
-
Excelのハイパーリンクについて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA】テキストファイルを指定...
-
EXCELのVBAでEOFを誤認識
-
同一フォルダにある複数のテキ...
-
アスキー、バイナリーの違い、...
-
複数のテキストファイル内の複...
-
uwscでExcelに自動記入
-
VBscript
-
VBScript(vbs)での行の取得につ...
-
VBAでテキストファイルを最後ま...
-
Excelにて、フォルダ内のTextフ...
-
テキストファイルの最終行を消...
-
VBSを使用し、指定フォルダ内の...
-
【VBA】テキストファイルの内容...
-
コンボボックスのリストに、テ...
-
スペース区切りのテキストファ...
-
Java バブルソート
-
データ件数の表示について
-
unixのシェルスクリプトで特定...
-
VBAでテキストファイルの件...
-
VBA、値のずらし計算
おすすめ情報