본문 바로가기

Language/Java 기본

ArrayList

배열의 단점 : 크기 지정의 불편함.

기존 배열은 String[] arr = new String[2]; 처럼 크기를 지정해야 하며, 고정되어있다.

 

 

Collection 

 - 요소(Element) 라고 불리는 가변 개수의 객체들의 집합

1. 객체들의 컨테이너라고도 불림

2. 요소의 개수에 따라 자동 크기 조절됨

3. 요소 추가,수정,삭제에 따른 요소의 이동 자동관리.

 

단, 기본 자료형 ( Primitive type ) 데이터는 요소로 사용 불가.

기본 타입 값 추가한 경우, 자동 박싱에 의해 Wrapper클래스로 변환되어 객체 형태로 저장됨

 

Collection의 종류 : Set, List, Queue , Map

 

List: ArrayList, Vector, LinkedList

 

 

 

ArrayList 는 가변 공간 길이를 가진다. 원하는 위치의 추가나 삭제가 쉬우며  컬렉션 클래스로 객체를 저장한다.

 

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

public class Arrli {
	public static void main(String[] args) {

		// ArrayList [배열]
		ArrayList<String> list = new ArrayList<String>();// String은 레퍼런스 타입이라 사용가능, int, float등은 불가
		// 문자열 데이터를 저장하는 리스트를 생성하였음

		list.add("파스타");
		list.add("신발");
		list.add("고등어순살조림");
		list.add("라면");

		System.out.println(list.size());
		System.out.println(list);
		
		System.out.println(list.get(3));
	}
}

arraylist 는 String, 혹은 객체를 입력받을 수 있으며 생성자를 이용해서 생성한다.

add 는 리스트에 요소를 추가할 수 있다. 이는 파이썬과 비슷한 방법이기도 하다.

ArrayList.get(index);  메서드는 Arraylist 내의 index에 해당하는 데이터를 뽑게된다.

 

 

  

 

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

public class Arrli {
	public static void main(String[] args) {

		// ArrayList [배열]
		ArrayList<String> list = new ArrayList<String>();// String은 레퍼런스 타입이라 사용가능, int, float등은 불가
		// 문자열 데이터를 저장하는 리스트를 생성하였음

		list.add("파스타");
		list.add("신발");
		list.add("고등어순살조림");
		list.add("라면");

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

 

반복문을 이용해 list 안의 데이터에 순차적으로 접근하였다.

이는 배열의 데이터를 순차적 접근하는 방법과 같다.

 

 

 

특정 인덱스에 다음과 같이 데이터를 넣을 수도 있는데, 이렇게 되면

원래 위치한 인덱스가 다음으로 밀려나게 된다.

 

 

arraylist.remove는 리스트의 인덱스 혹은 오브젝트[데이터]를 입력하여 삭제하게 된다.

arraylist.isempty 는 리스트 내에 요소가 비워져있냐는 것으로 Boolean 값을 출력한다.

 

 

arraylist.contains(오브젝트) 는 리스트 내에 해당 오브젝트가 있는지를 판단하여 Boolean값을 출력한다.

 

arraylist.clear() 는 리스트 내 요소를 모두 제거한다.

 

 

arraylist는 다음과 같은 방벙으로 객체를 arraylist에 넣을 수 있다.

 

register member = new register(id, name); 로하고

list.add(member) 와 같은 식으로 쓸 수 있다. 

굳이 생성자로 전부 생성을 하지 않고도, 이미 new 라는 생성자로 member은 선언해두었기 때문이다.

그림은 리스트에 정보를 저장하는 두가지 방법을 나타낸다.

객체를 생성하면서 정보를 저장할 수 있고

arraylist 자체에 add 하여 객체정보를 넣을 수 있다.

'Language > Java 기본' 카테고리의 다른 글

상속과 다형성, 오버라이딩  (0) 2021.01.09
생성자 및 접근제한자  (0) 2021.01.08
메서드 오버로딩(Overloading)  (0) 2021.01.08
메서드 2  (0) 2021.01.08
클래스와 객체  (0) 2021.01.07