- - PR -
テキストファイルの比較
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-02-20 16:09
上記のような2つのリスト形式のtext1とtext2を比較し、text2中でtext1に指定されたものを含まない テキストファイルtext3.txtを作成したいと考えています。 1.text2を1行ずつ読み込み、Listにadd()していく。 2.text1を1行ずつ読み込み、Listの要素と比較(contains())し、 trueならListから削除していく ということをしてみたのですが、どうもうまくいきません。 (重複している部分が残る) 何かよい方法がありましたらご教授願えればと思います。 * 「・・・ aaa」というのは、1行の中に比較したいもの(aaa)が含まれている という状況を指しています。(「000 test aaa」といったような) ちょっと説明が分かりづらいとは思いますが、宜しくお願いいたします。 | ||||
|
投稿日時: 2007-02-20 16:25
text1 で指定されなかったものが text2 で重複していた場合の出力はどのようになるのでしょうか?
例えば、text1 で「aaa」が無かったとき、text3では「aaa」はいくつ出力されるのでしょうか? もし1つでいいなら、text2 を1行ずつ読み、追加して行く先のオブジェクトを List から Set にしてみるのはいかがでしょう? 重複しているものは重複している数だけ text3 に出力したいと言うことなら、 >2.text1を1行ずつ読み込み、Listの要素と比較(contains())し、 >trueならListから削除していく という動作のあと、contains() が false になるまで同じ事を繰り返してやればいいと思います。 | ||||
|
投稿日時: 2007-02-20 16:25
要件をよく把握していませんが、問題は重複ということなのでしょうか。
最初にSetに挿入するなどして重複をなくしてしまえばいいのではないですか?
| ||||
|
投稿日時: 2007-02-20 16:44
ロジックが逆なんじゃないんですか ?
text1.txtの内容を保持しておいて、 text2.txtを1行ずつ読みながら、上記保持内容にあればスルー、 なければtext3.txtに出力。 | ||||
|
投稿日時: 2007-02-20 16:52
びしばしさんに同意。
text1.txtはユニークでデータも少なそうな感じがするし。 [ メッセージ編集済み 編集者: KOX 編集日時 2007-02-20 16:52 ] |
1