[解決済み] Java 二つのリストを比較する
質問
2つのリストがあります(Javaのリストではなく、2つの列と言えます)。
例えば
**List 1** **Lists 2**
milan hafil
dingo iga
iga dingo
elpha binga
hafil mike
meat dingo
milan
elpha
meat
iga
neeta.peeta
同じ要素がいくつあるかを返すメソッドが欲しいです。この例では 3 で、両方のリストの似たような値と異なる値を返してくれるはずです。
ハッシュマップを使うべきですか?もしそうなら、どんな方法で結果を得ることができますか?
よろしくお願いします。
P.S: 学校の課題ではありません :) だから、あなたが私を導くだけであれば、それは十分です。
どのように解決するのですか?
EDIT
ここでは2つのバージョンを紹介します。ひとつは
ArrayList
と、もう一つは
HashSet
それらを比較し、あなたの 自分の を作成し、必要なものを得ることができます。
をカバーするのに十分なはずです。
追伸:これは学校の課題ではありません :) だから、あなたが私を導くだけで十分です。
の部分です。
最初の回答の続きです。
を使用することができます。
java.util.Collection
および
java.util.ArrayList
を使用します。
は、その リテインオール メソッドは次のような処理を行います。
指定されたコレクションに含まれる要素のみをこのコレクションに保持します。
は、このサンプルをご覧ください。
import java.util.Collection;
import java.util.ArrayList;
import java.util.Arrays;
public class Repeated {
public static void main( String [] args ) {
Collection listOne = new ArrayList(Arrays.asList("milan","dingo", "elpha", "hafil", "meat", "iga", "neeta.peeta"));
Collection listTwo = new ArrayList(Arrays.asList("hafil", "iga", "binga", "mike", "dingo"));
listOne.retainAll( listTwo );
System.out.println( listOne );
}
}
EDIT
2番目の部分(似たような値)については、以下のようにします。 リムーブオール メソッドを使用します。
指定されたコレクションに含まれる、このコレクションのすべての要素を削除します。
この2番目のバージョンは、類似した値も与え、繰り返された値も処理します(破棄する)。
今回は
Collection
は、もしかしたら
Set
の代わりに
List
( 違いは、Set が繰り返し値を許さないことです )
import java.util.Collection;
import java.util.HashSet;
import java.util.Arrays;
class Repeated {
public static void main( String [] args ) {
Collection<String> listOne = Arrays.asList("milan","iga",
"dingo","iga",
"elpha","iga",
"hafil","iga",
"meat","iga",
"neeta.peeta","iga");
Collection<String> listTwo = Arrays.asList("hafil",
"iga",
"binga",
"mike",
"dingo","dingo","dingo");
Collection<String> similar = new HashSet<String>( listOne );
Collection<String> different = new HashSet<String>();
different.addAll( listOne );
different.addAll( listTwo );
similar.retainAll( listTwo );
different.removeAll( similar );
System.out.printf("One:%s%nTwo:%s%nSimilar:%s%nDifferent:%s%n", listOne, listTwo, similar, different);
}
}
出力します。
$ java Repeated
One:[milan, iga, dingo, iga, elpha, iga, hafil, iga, meat, iga, neeta.peeta, iga]
Two:[hafil, iga, binga, mike, dingo, dingo, dingo]
Similar:[dingo, iga, hafil]
Different:[mike, binga, milan, meat, elpha, neeta.peeta]
もしこれがあなたの必要とするものを正確に行わないとしても、良いスタートを与えるので、ここから対処することができます。
読者に質問です。繰り返されるすべての値をどのように含めるのでしょうか?
関連
-
[解決済み] eclipseからTomcatに物理的に発行されるmyjspはどこにあるのでしょうか?
-
[解決済み] Java- <T extends Comparable<T>>の意味?
-
[解決済み] この2回(1927年)を引き算すると、なぜおかしな結果になるのでしょうか?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] 2つのリストを辞書に変換するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Java - JTextFieldが空かどうかを確認する
-
[解決済み] JavaでFileFilterを作るには?
-
[解決済み] enumのordinalを使用するのは良い習慣ですか?
-
[解決済み] パラメータ[変数]の不正な修飾子;finalのみが許可される[closed]。
-
[解決済み] なぜJPAには@Transientアノテーションがあるのですか?
-
[解決済み] android.support.v4.app.FragmentActivity' で 'TAG' がプライベートアクセスされている。
-
[解決済み] 型の不一致:ArrayListからListへの変換ができない
-
[解決済み] Apache Camelのログに簡単なテキストを記録する
-
[解決済み] 文字列が一意な文字であるかどうかを判定する
-
[解決済み] タイプの安全性。アンチェック・キャスト