1. 중복 제거
목록의 중복 제거 :
방법 A : 루프 용 2 : 차륜 번호리스트 길이에 1을 뺀 수와 비교 외부 루프; 횟수 내부 루프는 비교의 각 라운드를 제어 비교 라운드 목록 개수를 뺀 전류 라운드의 길이
대해 INT (I = 0; I는 ()는 list.size를 <- 1; 내가 ++) {
대 (INT는 list.size J = 1; J> I, J -) {
경우 (List.get (j) .equals (List.get (I))) {
List.remove (j);
}}}
방법 II;
jdk1.8 구별 List.stream ()을 제공 한 후 ();
방법 세 가지 :
중량 요소들의 세트를 사용하여
순서화 세트 소자는, 소자가 반복 될 수 없다
HashSet의 집합 = HashSet의 새로운 (목록) // 만들기 HashSet의 동작이 다시 수행 된 경우의리스트 요소들을 사용하여 설정
이 list.clear은 (); // 원래 목록을 지우
에는 list.add (세트); //의 요소 목록에 다시 참여 드는-중복
중복 제거 어레이 :
방법 1
와 목록 모음 구현
INT [] STR = {5,6,6,8,8,7,4};
목록 <정수> 목록 = 새로운 ArrayList를 <정수> ();
대해 INT (I = 0; I <str.length; 내가 ++) {
경우 (list.contains (STR [I])!);
에는 list.add (STR [I]);
}
}
에서 System.out.println (리스트);
방법 2 :
용 HashSet :
설정 설정 = 새 HashSet의 ();
대해 INT (I = 0; I)는 (a.length를 <; 내가 ++) {
set.add (a [I]);
}
2. 교차
교차 목록
listA.retainAll (listB)
배열 교차
문자열 [] = result_insect 교차 (arr1, arr2);
(3) 두 개의 배열을 설정하고
listA.removeAll (listB) 처음 두 세트 사이의 차이를 고려 //는, 즉 공통 부분을 제거 챠트
listA.addAll (listB)의 후 ListB의 챠트의 나머지 부분에 추가
문자열 [] = result_union 연합 (arr1, arr2);
또한 사용에 두 개의 배열을 통과, HashSet에 설정할 수 있습니다
교차로 : 어레이 소자 (2)는,이 요소는 새로운 배열에 추가되면 linkList 포함 된 어레이 (2)를 통해 내부로 그리고 제 linkList 어레이.
요약 :
1 세트 재사용
빠른 ArrayList에 비해 삽입 2.linklist