Java는 웹 개발, 모바일 애플리케이션 개발, 데스크톱 애플리케이션 등 다양한 시나리오에서 널리 사용되는 매우 인기 있는 프로그래밍 언어입니다. Java는 개발자가 배열, 연결된 목록, 스택, 큐 및 맵을 포함한 다양한 데이터 구조를 처리하는 데 도움이 되는 풍부한 컬렉션 클래스 라이브러리를 제공합니다.
Java에서 컬렉션은 데이터 항목을 저장하는 컨테이너입니다. Java 컬렉션 클래스 라이브러리는 컬렉션 인터페이스와 컬렉션 구현 클래스라는 두 가지 계층으로 나눌 수 있습니다. 컬렉션 인터페이스는 컬렉션의 요소에 대한 작업을 위한 일련의 메서드를 정의하는 사양 집합입니다. 컬렉션 구현 클래스는 인터페이스의 현실을 기반으로 하며 ArrayList, LinkedList, HashSet 등과 같은 특정 구현 세부 정보를 제공합니다.
이 기사에서는 독자가 Java 컬렉션 작업에 대한 숙달을 향상시키는 데 도움이 되는 몇 가지 일반적인 Java 컬렉션 처리 연습을 소개합니다.
정수 배열이 주어지면 그 안에서 중복 요소를 찾으세요. 예를 들어 {1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 4, 5} 배열의 경우 1, 4, 5가 출력되어야 합니다.
이 문제를 해결하는 한 가지 방법은 HashSet을 사용하는 것입니다. 배열의 각 요소를 반복하여 HashSet에 추가할 수 있습니다. HashSet에 요소가 이미 존재하는 경우 해당 요소는 중복입니다. 코드 구현은 다음과 같습니다.
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 4, 5}; Set<Integer> set = new HashSet<>(); Set<Integer> duplicates = new HashSet<>(); for (int i : arr) { if (!set.add(i)) { duplicates.add(i); } } System.out.println("重复元素为:" + duplicates);
두 개의 정렬된 정수 배열이 제공되면 이를 정렬된 배열로 병합합니다. 예를 들어 배열 {1, 3, 5, 7} 및 {2, 4, 6, 8}의 경우 {1, 2, 3, 4, 5, 6, 7, 8}이 출력되어야 합니다.
이 문제를 해결하는 한 가지 방법은 병합된 결과를 보관할 새 배열을 만드는 것입니다. 그런 다음 두 포인터를 사용하여 두 배열의 요소를 가리키고 크기를 비교할 수 있습니다. 새 배열에 더 작은 요소를 추가하고 포인터를 한 위치 앞으로 이동합니다. 다음은 코드 구현입니다.
int[] arr1 = {1, 3, 5, 7}; int[] arr2 = {2, 4, 6, 8}; int len1 = arr1.length; int len2 = arr2.length; int[] result = new int[len1 + len2]; int i = 0, j = 0, k = 0; while (i < len1 && j < len2) { if (arr1[i] < arr2[j]) { result[k++] = arr1[i++]; } else { result[k++] = arr2[j++]; } } while (i < len1) { result[k++] = arr1[i++]; } while (j < len2) { result[k++] = arr2[j++]; } System.out.println(Arrays.toString(result));
문자열이 주어지면 각 문자가 문자열에 나타나는 횟수를 셉니다. 예를 들어, "Java is a great 언어"라는 문자열의 경우 문자 'J'는 한 번 출력되어야 하고 문자 'a'는 4번 나타나야 합니다.
이 문제를 해결하는 한 가지 방법은 문자열의 각 문자를 반복하여 HashMap에 추가하는 것입니다. 각 문자를 키로 처리하고 발생 횟수를 값으로 처리합니다. 다음은 코드 구현입니다.
String str = "Java is a great language"; Map<Character, Integer> map = new HashMap<>(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c == ' ') { continue; } if (map.containsKey(c)) { map.put(c, map.get(c) + 1); } else { map.put(c, 1); } } for (Map.Entry<Character, Integer> entry : map.entrySet()) { System.out.println("字符'" + entry.getKey() + "'出现" + entry.getValue() + "次。"); }
Java 컬렉션은 Java 프로그래밍의 중요한 부분입니다. 이 기사에서는 독자가 Java 컬렉션 작업에 대한 이해와 적용을 심화하는 데 도움이 되는 몇 가지 일반적인 Java 컬렉션 처리 연습을 소개합니다.
위 내용은 Java의 컬렉션 처리 연습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!