[JAVA] 자바 배열 ArrayList 중복제거 모든방법
- 언어/Java
- 2020. 5. 9.
[JAVA] 자바 배열 ArrayList 중복제거 모든방법
JAVA 배열 중복제거하는 방법에 대해 알아보겠습니다.
1. 배열의 요소를 로직을 통해서 중복 제거
contains 를 사용하여 goodsList를 for문 돌면서 arrayList에 포함되어있지 않는 데이터만 arrayList에 add 합니다.
package main.java;
import java.util.ArrayList;
public class test {
public static void main(String[] args) {
String[] goodsList = {"notebook", "TV", "monitor", "keyboard", "mouse", "TV", "monitor", "keyboard"};
ArrayList<String> arrayList = new ArrayList<>();
for(String item : goodsList){
if(!arrayList.contains(item))
arrayList.add(item);
}
System.out.println(arrayList);
//결과 = [notebook, TV, monitor, keyboard, mouse]
}
}
실행결과
2. HashSet을 이용한 중복제거
HashSet은 자바 Collection 중 Set의 대표적인 클래스입니다.
HashSet은 Set의 파생클래스로 기본적으로 집합으로 중복된 원소를 허용하지 않습니다. 순서 역시 고려가 되지 않습니다
package main.java;
import java.util.HashSet;
public class test {
public static void main(String[] args) {
String[] goodsList = {"notebook", "TV", "monitor", "keyboard", "mouse", "TV", "monitor", "keyboard"};
HashSet<String> hashSet = new HashSet<>();
for(String item : goodsList){
hashSet.add(item);
}
System.out.println(hashSet);
//결과 [keyboard, mouse, TV, monitor, notebook]
}
}
실행결과
3. LinkedHashSet을 이용하여 중복제거
LinkedHashSet도 중복된 데이터를 저장할 수 없습니다.
HashSet과 차이점은 입력된 순서대로 데이터를 관리합니다
package main.java;
import java.util.LinkedHashSet;
public class test {
public static void main(String[] args) {
String[] goodsList = {"notebook", "TV", "monitor", "keyboard", "mouse", "TV", "monitor", "keyboard"};
LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();
for(String item : goodsList){
linkedHashSet.add(item);
}
System.out.println(linkedHashSet);
//결과 = [notebook, TV, monitor, keyboard, mouse]
}
}
실행결과
4. TreeSet을 이용하여 중복제거
HashSet과 같이 중복된 데이터를 저장할 수 없고 입력한 순서대로 값을 저장하지 않습니다.
차이점은 TreeSet은 기본적으로 오름차순으로 데이터를 정렬합니다.
package main.java;
import java.util.TreeSet;
public class test {
public static void main(String[] args) {
String[] goodsList = {"notebook", "TV", "monitor", "keyboard", "mouse", "TV", "monitor", "keyboard"};
TreeSet<String> treeSet = new TreeSet<>();
for(String item : goodsList){
treeSet.add(item);
}
System.out.println(treeSet);
//결과 = [keyboard, mouse, TV, monitor, notebook]
}
}
실행결과
오늘은 ArrayList 배열 중복제거에 대해서 알아보았습니다!
'언어 > Java' 카테고리의 다른 글
[JAVA] 자바 문자열 자르기 split(), StringTokenizer 차이 비교 (0) | 2020.05.14 |
---|---|
[JAVA] 자바 정규식으로 휴대폰번호/전화번호 자르기 (0) | 2020.05.11 |
[JAVA] 자바 문자를 숫자로 변환하기 모든형변환 예제포함 (0) | 2020.05.08 |
[JAVA] 자바 현재 날짜 구하기 (DateUtil.java) 소스제공 (0) | 2020.05.08 |
[JAVA] 자바 원하는 문자열 자르기 substring 사용법 (0) | 2020.04.27 |