Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- Nested structure
- ABAP 구조체 선언
- ABAP 헤더
- sap
- abap
- Data Element
- 헤더라인
- abstrac class
- ABAP MODIFY
- ABAP Internal Table
- ABAP WHERE
- ABAP TYPE 구조체
- ABAP INSERT
- ABAP SELECT
- ABAP SQL
- ABAP DELETE
- DOMAIN
- 인터널테이블
- 싱글톤 패턴 사용이유
- Internal Table
- Internal Table 헤더라인
- Internal Table header
- ABAP UPDATE
- java
- ABAP FROM
- ABAP DATA 구조체
- ABAP OPEN SQL
- 인터널 테이블 생성
- ABAP INTO
- OPEN SQL
Archives
- Today
- Total
행복한 째아의 개발 블로그
[Java] 배열의 중복 값 제거하기 (Stream / Set) 본문
Stream
배열을 stream 객체로 변환한 뒤 distinct() 함수를 사용하면 된다.
(stream 함수는 jdk8이상에서만 사용 가능)
import java.util.Arrays;
public class Test04Arrays {
public static void main(String[] args) {
int[] sus = new int[] {11, 22, 33, 1, 2, 3, 11, 22, 33, 1, 2, 3};
for (int i : Arrays.stream(sus).distinct().toArray()) {
System.out.print(i + " ");
}
}
}
Set
set은 순서가 없고 데이터 중복이 허용 안되는 자료구조이다.
HashSet을 이용하여 배열의 중복제거가 가능하다.
import java.util.Arrays;
public class Test04Arrays {
public static void main(String[] args) {
int[] sus = new int[] {11, 22, 33, 1, 2, 3, 11, 22, 33, 1, 2, 3};
System.out.println(new HashSet<>(Arrays.asList(sus)));
// Arrays.asList(sus) << sus 배열을 List 형태로 변환
// new HashSet<>(Arrays.asList(sus)) << HashSet으로 중복 제거
}
}
이 때, List가 아닌 Array의 형태로 변경하고 싶다면 toArray()를 사용하면 된다.
HashSet<Integer> hs = new HashSet<Integer>(Arrays.asList(sus2));
Integer[] s = hs.toArray(new Integer[hs.size()]);
for (Object x : s) {
System.out.println(x);
}
'JAVA' 카테고리의 다른 글
[Java] Singleton pattern 사용 이유와 단점 (0) | 2023.01.26 |
---|---|
[Java] 추상 클래스(Abstrac class)와 인터페이스(Interface) 차이점 (0) | 2023.01.25 |
[Java] 이클립스 단축키 (0) | 2023.01.25 |