編集する
ここに2つのバージョンがあります。1つの使用ArrayList
および他の使用HashSet
それらを比較し、必要なものが得られるまで、これから独自のバージョンを作成してください。
これで十分です:
PS:それは学校の課題ではありません:)それであなたが私を導くだけならそれで十分です
あなたの質問の一部。
元の答えを続けます:
そのためにjava.util.Collection
および/または java.util.ArrayList
を使用できます。
がretainAllの方法は、次の処理を行います。
指定されたコレクションに含まれるこのコレクションの要素のみを保持します
このサンプルを参照してください:
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 );
}
}
編集する
2番目の部分(同様の値)には、removeAllメソッドを使用できます。
指定されたコレクションにも含まれているこのコレクションの要素をすべて削除します。
この2番目のバージョンでは、同様の値とハンドルが繰り返されます(それらを破棄することにより)。
今回はCollection
a Set
ではなくaである可能性がありますList
(違いは、セットは繰り返し値を許可しない)
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]
必要なことが正確に実行されない場合は、ここから処理できるように、適切なスタートを切ることができます。
読者への質問:繰り返されるすべての値をどのように含めますか?