자료구조 - Array? 배열?

이재명·2024년 2월 21일
post-thumbnail

자바(Java)에서 배열(Array)은 동일한 데이터 유형의 여러 값을 저장하는 데 사용되는 데이터 구조이다.

배열은 고정 크기로 생성되며 각 요소는 인덱스를 사용하여 접근할 수 있다.

  • 고정 크기: 배열은 생성될 때 크기가 고정되며, 크기를 변경할 수 없다. 즉, 한 번 생성된 배열의 크기를 변경하려면 새로운 배열을 만들어야 한다.

  • 동일한 데이터 유형: 배열은 동일한 데이터 유형의 요소를 저장한다. 예를 들어, 정수 배열은 정수 값만 포함한다.

  • 인덱스:배열의 각 요소는 0부터 시작하는 인덱스를 가지고 있다. 인덱스를 사용하여 특정 요소에 접근하거나 값을 할당할 수 있다.

int[] numbers = {1, 2, 3, 4, 5};
int thirdElement = numbers[2]; // 세 번째 요소에 접근
  • 메모리 구조: 배열은 연속적인 메모리 공간에 저장되며, 인덱스를 통해 효율적으로 접근할 수 있다.

  • 반복문 활용: 배열은 반복문을 통해 각 요소에 접근하거나 수정하는 데 효과적으로 사용될 수 있다.

for (int i = 0; i < numbers.length; i++) {
    System.out.println(numbers[i]);
}
  • 다차원 배열: 자바에서는 다차원 배열도 지원된다. 이는 배열의 배열로 생각할 수 있따.
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

자바 배열은 많은 상황에서 유용하게 사용되며, 데이터를 효과적으로 구조화하고 관리하는 데 도움을 준다. 그러나 크기가 고정되기 때문에 동적인 크기 조정이 필요한 경우에는 다른 자료구조를 고려해야 한다. 예를 들면 ArrayList나 LinkedList 등이 있다.

자료형이 int인 배열 길이가 5인 배열 a의 선언을 그림으로 나타내면

백준 10818 최소,최대

import java.util.Arrays;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int N = sc.nextInt();
        int[] arr = new int[N];

        for(int i = 0; i < arr.length; i++) {
            arr[i] = sc.nextInt();
        }

        Arrays.sort(arr);								
        System.out.print(arr[0] + " " + arr[N - 1]);	
    }													
}												

사용자로부터 N개의 정수를 입력받고, 해당 정수들 중에서 최솟값과 최댓값을 출력한다.

  1. import java.util.Arrays;: Arrays 클래스를 import하여 배열을 정렬하기 위해 사용한다.

  2. import java.util.Scanner;: Scanner 클래스를 import하여 사용자로부터 입력을 받기 위해 사용한다.

  3. Scanner sc = new Scanner(System.in);: Scanner 객체를 생성하여 사용자로부터 입력을 받을 준비를 한다.

  4. int N = sc.nextInt();: 사용자로부터 입력받은 값(N)은 배열의 크기가 된다.

  5. int[] arr = new int[N];: 입력받은 크기(N)를 가진 정수 배열(arr)을 생성한다.

  6. for(int i = 0; i < arr.length; i++) { arr[i] = sc.nextInt(); }: 사용자로부터 N개의 정수를 입력받아 배열에 저장한다.

  7. Arrays.sort(arr);: Arrays 클래스의 sort 메서드를 사용하여 배열을 오름차순으로 정렬한다.

  8. System.out.print(arr[0] + " " + arr[N - 1]);: 정렬된 배열에서 첫 번째 원소(arr[0])는 최솟값, 마지막 원소(arr[N - 1])는 최댓값이다. 이들을 출력한다.

추천 게시글
https://velog.io/@zdlwoaud/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-Queue-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EC%9D%98-%EC%9D%B4%ED%95%B4-%EB%B0%8F-%EC%82%AC%EC%9A%A9%EB%B2%95
(자료구조 - Queue?)

profile
__개발자가 되어야 한다.

0개의 댓글