편집하다
다음은 두 가지 버전입니다. 하나 사용 ArrayList
하고 다른 사용HashSet
필요한 것을 얻을 때까지 비교하고 여기 에서 자신의 버전을 만드십시오 .
이것은 다음을 포함하기에 충분해야합니다.
추신 : 학교 과제가 아니에요 :) 그러니 그냥 안내 해주시면
질문의 일부입니다.
원래 답변 계속 :
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 );
}
}
편집하다
두 번째 부분 (유사한 값)의 경우 removeAll 메소드를 사용할 수 있습니다 .
지정된 컬렉션에도 포함 된이 컬렉션의 모든 요소를 제거합니다.
이 두 번째 버전은 유사한 값과 반복되는 핸들을 제공합니다 (삭제하여).
이번에는 Collection
a 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]
필요한 작업을 정확히 수행하지 못하는 경우 여기에서 처리 할 수 있도록 좋은 시작을 제공합니다.
독자를위한 질문 : 반복되는 모든 값을 어떻게 포함 하시겠습니까?