>  기사  >  Java  >  Java의 컬렉션 처리 연습

Java의 컬렉션 처리 연습

WBOY
WBOY원래의
2023-06-15 09:52:371407검색

Java는 웹 개발, 모바일 애플리케이션 개발, 데스크톱 애플리케이션 등 다양한 시나리오에서 널리 사용되는 매우 인기 있는 프로그래밍 언어입니다. Java는 개발자가 배열, 연결된 목록, 스택, 큐 및 맵을 포함한 다양한 데이터 구조를 처리하는 데 도움이 되는 풍부한 컬렉션 클래스 라이브러리를 제공합니다.

Java에서 컬렉션은 데이터 항목을 저장하는 컨테이너입니다. Java 컬렉션 클래스 라이브러리는 컬렉션 인터페이스와 컬렉션 구현 클래스라는 두 가지 계층으로 나눌 수 있습니다. 컬렉션 인터페이스는 컬렉션의 요소에 대한 작업을 위한 일련의 메서드를 정의하는 사양 집합입니다. 컬렉션 구현 클래스는 인터페이스의 현실을 기반으로 하며 ArrayList, LinkedList, HashSet 등과 같은 특정 구현 세부 정보를 제공합니다.

이 기사에서는 독자가 Java 컬렉션 작업에 대한 숙달을 향상시키는 데 도움이 되는 몇 가지 일반적인 Java 컬렉션 처리 연습을 소개합니다.

  1. 배열에서 중복 요소 찾기

정수 배열이 주어지면 그 안에서 중복 요소를 찾으세요. 예를 들어 {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. 두 개의 정렬된 배열 병합

두 개의 정렬된 정수 배열이 제공되면 이를 정렬된 배열로 병합합니다. 예를 들어 배열 {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));
  1. 각 문자가 문자열에 나타나는 횟수를 셉니다.

문자열이 주어지면 각 문자가 문자열에 나타나는 횟수를 셉니다. 예를 들어, "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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.