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
- 헤더라인
- ABAP DELETE
- ABAP 헤더
- ABAP SQL
- ABAP DATA 구조체
- java
- ABAP UPDATE
- Internal Table
- 싱글톤 패턴 사용이유
- ABAP MODIFY
- abstrac class
- ABAP OPEN SQL
- Nested structure
- abap
- sap
- 인터널 테이블 생성
- OPEN SQL
- 인터널테이블
- ABAP TYPE 구조체
- ABAP Internal Table
- ABAP FROM
- ABAP SELECT
- Data Element
- DOMAIN
- ABAP INSERT
- ABAP WHERE
- Internal Table 헤더라인
- Internal Table header
- ABAP 구조체 선언
- ABAP INTO
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 |
Comments