loading

프로그래밍/JAVA

[JAVA] Arrays.fill() 사용 방법(배열의 값 일괄초기화)

침착곰 2021. 5. 16. 17:00
반응형

안녕하세요

Arrays.fill() 이란 메서드는 익숙하지 않을 메서드입니다

최근에 알고리즘을 공부하면서 저도 처음 알게된 메서드입니다

이번 포스팅에서는 Arrays.fill()의 사용 방법에 대해서 알아보겠습니다

 

목차

Arrays.fill()란?
Arrays.fill()을 사용 1차원 배열의 초기화 방법
Arrays.fill()을 사용 2차원 배열의 초기화 방법

Arrays.fill()란?

Arrays 클래스에서 제공하는 메서드입니다

자바 11부터 사용이 가능한 기능입니다

Arrays.fill()은 배열의 모든 값을 같은 값으로 초기화하는 메서드입니다

Arrays.fill()을 사용하지 않으면 for문을 사용해서 배열의 값을 일정하게 초기화해야합니다

간편하게 배열의 값을 초기화가 가능합니다

 


Arrays.fill()을 사용 1차원 배열의 초기화 방법

바로 예제코드를 통해서 확인해보겠습니다

예제코드에서는 for문을 사용하여 배열의 값을 일괄 초기화하는 방법과 Arrays.fill()을 사용하여 일괄 초기화합니다

for문을 사용하여 초기화하는 방법도 어렵지는 않지만 Arrays.fill을 사용하면 더 간단하게 초기화가 가능합니다

Arrays.fill(배열 변수, 배열 데이터)를 사용하여 값을 일괄 초기화합니다

 

예제 코드

public class ArrayFill {
	public static void main(String[] args)  {	
		// int 배열 선언
		int[] arrayTest1 = new int[10];
		int[] arrayTest2 = new int[10];
		
		// 1. for문을 사용하여 배열을 채운다
		for(int i = 0; i < arrayTest1.length; i++)
			arrayTest1[i] = 10;
		
		// 2. Arrays.fill을 사용하여 배열을 채운다
		Arrays.fill(arrayTest2, 10);
		
		// 값을 입력할 StringBuilder 변수 선언
		StringBuilder sb1 = new StringBuilder();
		StringBuilder sb2 = new StringBuilder();
		sb1.append("ArrayTest1 = ");
		sb2.append("ArrayTest2 = ");
		
		// 반복문을 사용하여 배열의 값을 입력한다
		for(int i = 0; i < 10; i++) {
			sb1.append(arrayTest1[i] + " ");
			sb2.append(arrayTest1[i] + " ");
		}
		
		// 결과 출력
		System.out.println(sb1);
		System.out.println(sb2);
	}
}

 

위 코드의 결과를 출력한 화면입니다

결과 화면

 


Arrays.fill()을 사용 2차원 배열의 초기화 방법

2차원 배열의 값을 초기화하는 방법입니다

한 번에 초기화할 수 좋겠지만 그렇게는 방법이 없습니다

for문을 사용해서 레벨1의 배열을 가져와 레벨2의 배열의 값을 10으로 초기화하는 예제입니다

 

예제 코드

import java.util.Arrays;

public class ArrayFill_2 {
	public static void main(String[] args)  {	
		// int 배열 선언
		int[][] arrayTest = new int[10][10];
		
		// 1. for문을 사용하여 배열을 채운다
		for(int i = 0; i < arrayTest.length; i++)
			Arrays.fill(arrayTest[i], 10);
		
		StringBuilder sb = new StringBuilder();
		
		// 이중for문을 사용하여 결과 출력
		for(int i = 0; i < 10; i++)
		{
			sb = new StringBuilder("");
			sb.append("Array[" + i + "] : ");
			
			for(int j = 0; j < 10; j++)
			{
				sb.append(arrayTest[i][j] + " ");
			}
			
			System.out.println(sb);
		}
	}
}

 

결과 화면

위 코드를 실행한 결과 화면입니다

 

여기까지 Arrays.fill()의 사용 방법에 대해서 알아봤습니다!

반응형
그리드형