Java 두 개의 List 비교
1. 두 개의 List 비교 List는 정렬 된 데이터 구조이므로 요소의 순서는 의도적으로 중요하다. 상세 사항은 List#equals를 참고한다. 두 개의 List는 동일한 요소를 동일한 순서로 포함하는 경우 동일한 것으로 정의된다. 이 정의는 equals 메소드가 List 인터페이스의 다른 구현에서 제대로 작동하도록 한다. 다음 코드...
1. 두 개의 List 비교 List는 정렬 된 데이터 구조이므로 요소의 순서는 의도적으로 중요하다. 상세 사항은 List#equals를 참고한다. 두 개의 List는 동일한 요소를 동일한 순서로 포함하는 경우 동일한 것으로 정의된다. 이 정의는 equals 메소드가 List 인터페이스의 다른 구현에서 제대로 작동하도록 한다. 다음 코드...
1. Partition a List List를 주어진 크기의 여러 하위 목록으로 분할하는 방법이다. 상대적으로 간단한 작업의 경우 표준 Java 컬렉션 API에서 지원하지 않는다. 운 좋게도 Guava와 Apache Commons Collections 모두 유사한 방식으로 작업을 구현했다. 2. Guava를 사용하여 목록 분할 Guava는 List...
1. 일반 Java를 사용하여 List에서 Null 제거 Java 컬렉션 프레임워크는 List의 모든 null 요소를 제거하기 위한 간단한 설루션인 기본 while 루프를 제공한다. @Test public void givenListContainsNulls_whenRemovingNullsWithPlainJava_thenCorrect() { Li...
1. LinkedList LinkedList는 List 및 Deque 인터페이스의 이중 연결 목록 구현이다. 모든 선택적 목록 작업을 구현하고 모든 요소(null 포함)를 허용한다. 2. 특징 LinkedList의 가장 중요한 속성이다. 목록을 인덱싱하는 작업은 시작 또는 끝 중 지정된 인덱스에 가까운 쪽부터 목록을 순회한다. ...
1. Immutable ArrayList JDK, Guava 및 Apache Commons Collections 4를 사용하여 ArrayList를 불변으로 만드는 방법이다. 2. JDK 사용 JDK는 기존 컬렉션에서 수정할 수 없는 컬렉션을 가져오는 방법을 제공한다. Collections.unmodifiableList(list); 새 컬렉션은 ...
1. 설정 Customer POJO를 정의한다. public class Customer { private int id; private String name; // getters/setters, custom hashcode/equals } 고객의 ArrayList이다. List<Customer> cust...
1. 2차원 ArrayList 0에서 2까지 번호가 매겨진 3개의 꼭지점이 있는 그래프를 표현하려고 한다고 가정한다. 또한 그래프에 (0, 1), (1, 2) 및 (2, 0) 3개의 가장자리가 있다고 가정한다. 꼭지점의 가장자리를 나타낸다. ArrayList의 ArrayList를 생성하고 채워서 2차원 ArrayList의 가장자리를 나타낼 수 있다....
1. CopyOnWriteArrayList 다중 스레드 프로그램에서 명시적인 동기화 없이 스레드로부터 안전한 방식으로 목록을 반복하려는 경우에 매우 유용하다. 2. CopyOnWriteArrayList API CopyOnWriteArrayList의 디자인은 흥미로운 기술을 사용하여 동기화할 필요 없이 스레드로부터 안전하게 만든다. add() 또는 r...
1. Iterator를 List로 변환 Iterator를 List로 변환하는 방법이다. while 루프, Java 8 및 몇 가지 공통 라이브러리를 사용한다. Integers와 함께 Iterator를 사용한다. Iterator<Integer> iterator = Arrays.asList(1, 2, 3).iterator(); 2. Wh...
1. UNNEST UNNEST 함수는 Array의 개수만큼 row로 변환한다. Array 데이터 사용 시 많이 사용하는 함수로 sum() 통계함수와 같이 사용하면 Array의 개수만큼 값이 중복된다. SELECT col1, UNNEST(col2) AS col2 FROM table; |col1|unnest| |----|------| |채소 |배추 ...