본문 바로가기

BackEnd/Java

[java] Set, HashSet 정렬(순서) 방법

728x90
반응형

 

문제 풀이를 하며 Set을 사용했을 때, 하나만 실패하였음.

 

 

◎ 사용 예시

Set<Integer> set = new HashSet<>();

set.add(i);

 

하나만 실패한 원인

 → set은 순서가 없기 때문에 항상 add 한 순서대로 출력하지 않음

 

  해결방법

1. set -> list로 변경
2. list의 정렬 방법인 Collections.sort() 메소드 사용
List<Integer> list = new ArrayList<>(set);
Collections.sort(list);​

 

중복을 제거하기 위해서 set을 사용했지만, 순서가 없기때문에 순서가 있는 list를 사용했음.

 

중복도 제거되면서 순서를 지정할 수 있는 LinkedHashSet을 사용하면 훨씬 더 효율적으로 코드 구성할 수 있을 것 같다.

728x90
반응형