Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

ArrayList Java:초보자 가이드

배열을 사용하기 전에 배열의 크기를 선언해야 하는 것이 지겹습니까? 배열에 값을 추가하기 시작하기 전에 배열에 저장해야 하는 값의 수를 정의해야 하는 것이 항상 편리한 것은 아니기 때문에 당신만 그런 것은 아닙니다.

바로 여기에서 우리의 도움이 되는 친구인 Java ArrayList가 등장합니다.

이 가이드에서는 ArrayList가 무엇인지, 어떻게 작동하는지, 기존 배열과 어떻게 비교되는지에 대해 이야기할 것입니다. 또한 ArrayList 클래스를 효과적으로 사용하기 위해 알아야 할 가장 중요한 방법을 살펴보겠습니다. 시작하겠습니다!

ArrayList란 무엇입니까?

ArrayList는 크기 조정 가능한 배열을 만들 수 있는 특별한 유형의 목록입니다. ArrayList 클래스는 정렬된 데이터를 저장하는 데 사용되는 List 인터페이스를 구현합니다.

Java에서 배열로 작업할 때 해당 배열 내에 값을 저장하기 전에 해당 배열의 크기를 선언해야 합니다. 배열을 선언하기 전에 배열에 얼마나 많은 값을 저장할지 모르는 경우가 종종 있는데, 이는 문제를 나타냅니다.

ArrayList 클래스를 사용하면 저장할 수 있는 값의 수를 말할 필요가 없는 배열을 정의할 수 있습니다. dynamic arrays이라고도 하는 ArrayLists , 요소를 추가하거나 제거할 때 용량을 변경할 수 있습니다.

ArrayList를 만드는 방법

명백한 장소에서 시작합시다:ArrayList 선언. 하나를 설정하는 것은 Java List 인터페이스를 사용하기 때문에 배열을 선언하는 방법과 상당히 다릅니다.

Java 파일을 열고 다음 코드를 기본 클래스에 붙여넣습니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

import java.util.ArrayList;
ArrayList<String> songs = new ArrayList<>();

방금 songs라는 배열 목록을 만들었습니다. . String 배열에 저장될 데이터 유형을 나타내고 ArrayList는 생성하려는 객체 유형을 나타냅니다.

Java util에서 가져오기 때문에 ArrayList를 코드로 가져와야 합니다. 도서관.

기본 데이터 유형을 사용하여 배열 목록을 만들 수 없다는 점은 주목할 가치가 있습니다. 예를 들어 정수 배열을 선언하려면 기본 int를 사용할 수 없습니다. 유형; Integer 클래스를 사용해야 합니다.

ArrayList에 저장해야 하는 값의 수를 지정할 필요가 없다는 점에 유의하세요. ArrayLists 때문입니다. 역동적입니다.

ArrayList에 요소를 추가하는 방법

add() 메서드를 사용하면 단일 요소를 목록에 추가할 수 있습니다. songs에 두 곡을 추가하고 싶다고 가정해 보겠습니다. 배열 목록:Love Me Do and Help! (둘 다 비틀즈의 것입니다).

새 Java 파일을 열고 다음 코드를 작성하십시오.

import java.util.ArrayList;

class Main {
	public static void main(String[] args) {
ArrayList<String> songs = new ArrayList<>();

		songs.add("Love Me Do");
		songs.add("Help!");

		System.out.println("Songs: " + songs);
	}
}

코드 반환:노래:[Love Me Do, Help!]

배열과 마찬가지로 ArrayList의 항목 고유한 인덱스 번호가 부여됩니다. 이는 ArrayList의 항목이 정렬되고 숫자가 목록의 각 항목이 나타나는 순서를 프로그램에 알려 주기 때문입니다. 필요한 경우 항목을 추가할 인덱스 위치를 지정할 수 있습니다.

songs.add(0, “Love Me Do”);

그러면 songs의 색인 위치 0에 "Love Me Do" 항목이 추가됩니다. 목록.

ArrayList 초기화

배열을 선언할 때 해당 배열에 할당하려는 값을 지정하여 직접 초기화할 수 있습니다. ArrayLists 이런 식으로 작동하지 마십시오. ArrayList. asList() ArrayList 클래스에서 읽을 수 있는 목록으로 배열을 반환합니다.

목록에 추가하려는 값이 이미 몇 개 있는 경우 값으로 ArrayList를 초기화할 수 있습니다.

for 루프를 사용하여 각 항목을 개별적으로 추가할 수 있습니다. 그러나 이 접근 방식은 asList()를 사용하여 값으로 목록을 초기화하는 것보다 설정이 더 복잡하고 덜 효율적입니다. .

코드에서 사용할 라이브러리를 가져오는 것으로 시작해 보겠습니다.

import java.util.ArrayList;
import java.util.Arrays;

그런 다음 두 개의 값으로 노래 ArrayList를 초기화하는 클래스를 작성합니다.

class Main {
	public static void main(String[] args) {
		ArrayList<String> songs = new ArrayList(Arrays.asList("Love Me Do", "Help!"));
		System.out.println("Songs: " + songs);
	}
}

이 코드에서는 ArrayList를 선언했습니다. 문자열 값을 저장할 수 있습니다. 우리는 asList()를 사용하여 배열 목록을 두 개의 기본값으로 초기화하도록 코드에 지시했습니다. 이 값은 마지막 예제에서 추가한 것과 동일한 Beatles 노래입니다.

ArrayList에서 항목 검색

ArrayList 클래스는 get()이라는 편리한 메소드와 함께 제공됩니다. 배열 목록의 요소에 액세스할 수 있습니다. 이 방법을 사용하려면 액세스하려는 요소의 인덱스 위치를 지정해야 합니다.

다음 예를 고려하십시오.

import java.util.ArrayList;

class Main {
	public static void main(String[] args) {
ArrayList<String> songs = new ArrayList<>();

		songs.add("Love Me Do");
		songs.add("Help!");

		System.out.println("Second song: " + songs.get(1));
	}
}

이 코드에서는 배열 목록을 만들고 두 개의 값을 추가했습니다. 그런 다음 songs.get(1)을 사용했습니다. 목록의 색인 위치 1에 있는 노래를 검색합니다. 코드는 다음을 반환합니다.

두 번째 노래:도와주세요!

ArrayList 업데이트

배열 목록을 업데이트하는 것은 목록에 요소를 추가하는 것만큼 쉽습니다. set() 라는 내장 메소드가 있습니다. 목록에 저장된 값을 변경하는 데 사용할 수 있습니다. 다음 코드를 고려하십시오.

import java.util.ArrayList;

class Main {
	public static void main(String[] args) {
ArrayList<String> songs = new ArrayList<>();

		songs.add("Love Me Do");
		songs.add("Help!");

		System.out.println("Songs: " + songs);

		songs.set(1, "Come Together");
		System.out.println("Songs: " + songs);
	}
}

코드는 다음을 반환합니다.

노래:[Love Me Do, Help!]

노래:[Love Me Do, Come Together]

코드에 "Love Me Do"와 "Help!"라는 두 가지 값을 추가했습니다. – 우리 목록에. 그런 다음 인덱스 위치가 1인 항목을 "함께 오세요"로 변경했습니다. 이것은 "도움말!"을 대체합니다. 목록에 "Come Together"가 있습니다. 프로그램 마지막에 목록을 인쇄하면 수정되었음을 알 수 있습니다.

ArrayList에서 요소 제거

요소는 ArrayList에 영원히 머물 필요가 없습니다. remove() 를 사용하여 요소를 제거할 수 있습니다. 언제든지 방법. 기억하기 쉬운 메소드 이름입니다!

다음 예를 고려하십시오.

import java.util.ArrayList;

class Main {
	public static void main(String[] args) {
ArrayList<String> songs = new ArrayList<>();

		songs.add("Love Me Do");
		songs.add("Help!");

		System.out.println("Songs: " + songs);

		String removed = songs.remove(0);
		System.out.println("Songs: " + songs);
		System.out.println(removed);
	}
}

이 예에서는 배열 목록에 두 개의 항목을 추가합니다. 그런 다음 인덱스 위치가 0인 항목을 제거합니다. 코드는 다음을 반환합니다.

노래:[Love Me Do, Help!]

노래:[도와주세요!]

러브 미 도

Love Me Do를 삭제했습니다. 우리의 배열 목록에서. remove() 메소드는 removed 변수에 할당한 제거된 항목의 이름을 반환합니다. . 이 변수의 값을 프로그램 마지막에 콘솔에 출력했습니다.

ArrayList를 통해 반복

ArrayList를 반복하고 싶다면? 기본 설정에 따라 for 루프 또는 for-each 루프를 사용하여 이를 수행할 수 있습니다.

목록에 있는 모든 비틀즈 노래를 새 줄에 표시되는 각 값과 함께 콘솔에 인쇄하려고 한다고 가정해 보겠습니다. 다음 코드를 사용하여 그렇게 할 수 있습니다.

import java.util.ArrayList;

class Main {
	public static void main(String[] args) {
ArrayList<String> songs = new ArrayList<>();

		songs.add("Love Me Do");
		songs.add("Help!");

		for (int i = 0; i < songs.size(); i++) {
			System.out.println(songs.get(i));
		}
	}
}

이 프로그램에서 우리는 배열 목록의 모든 항목을 반복하기 위해 for 루프를 사용했습니다. 배열 목록의 각 항목에 대해 콘솔의 자체 줄에 인쇄합니다. 이 루프는 목록의 모든 항목이 콘솔에 인쇄될 때까지 계속됩니다.

songs.size() 라는 메서드를 사용했습니다. 이 프로그램에서. size() 메서드는 배열 목록에 얼마나 많은 값이 저장되어 있는지 알려줍니다.

코드는 다음을 반환합니다.

러브 미 도

돕다!

마찬가지로 for-each 루프를 사용하여 배열 목록을 반복할 수 있습니다. for-each 루프가 모든 반복 가능한 개체를 통한 반복을 지원하기 때문입니다. 다음 예를 고려하십시오.

import java.util.ArrayList;

class Main {
	public static void main(String[] args) {
ArrayList<String> songs = new ArrayList<>();

		songs.add("Love Me Do");
		songs.add("Help!");

		for (String song : songs) {
			System.out.println(song);
		}
	}
}

이 프로그램은 구조와 목적이 매우 유사합니다. songs의 모든 값을 출력합니다. 배열 목록을 콘솔에. 차이점은 for-each 루프를 사용하여 각 값을 반복한다는 것입니다.

for-each를 사용하도록 선택할 수 있습니다. for 대신 루프 for-each 루프를 읽는 것이 더 쉽기 때문에 루프를 사용하지만 두 방법 모두 효과적으로 작동합니다.

결론

Java ArrayList 클래스를 사용하면 미리 저장할 값의 수를 알려주지 않고 여러 값을 저장할 수 있는 배열을 정의할 수 있습니다.

우리는 Java에서 ArrayList를 사용하는 표면만 긁었습니다. 자세히 알아보려면 다음 자습서를 참조하세요.

  • ArrayList에서 Array로의 변환
  • ArrayList 초기화 방법
  • ArrayList 정렬 방법

이제 배열에 저장해야 하는 값의 수를 모른다면 무엇을 할지 더 이상 걱정할 필요가 없습니다. ArrayList를 사용하여 이 문제를 해결할 수 있습니다!