[JAVA] 자바 배열 ArrayList 중복제거 모든방법

 

[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 배열 중복제거에 대해서 알아보았습니다!

댓글

Designed by JB FACTORY