Post

[자바]ArrayList

JAVA

배열(Array)

일단 리스트를 설명하기 전에 배열을 간단하게 설명하자면

1
int[] odds = {1, 3, 5, 7, 9};

배열은 자료형 타입 바로 옆에 [] 기호를 사용하여 표현한다. 위 처럼 int의 자료형의 배열은 int[] 로 표기하여 사용하고 원소들은 자료형의 맞는 원소만이 들어올 수 있다.

1
String[] weeks = new String[7];

위와 같은 형식으로 배열의 길이를 미리 정할 수 있다. 여기서 배열의 핵심은 크기가 항상 고정되어 정해져있다는 것이다.

리스트(List)

리스트는 배열과 유사하다. 가장 큰 차이는 크기가 정해져 있지 않고 동적으로 변환한다는 점이다.

ArrayList

ArrayList는 List 자료형 중에 하나로 가장 간단한 형태의 자료형이다.

List 자료형 List 자료형에는 ArrayList, Vector, LinkedList 등의 List 인터페이스를 구현한 자료형이 있다. 여기서 말하는 List 자료형은 인터페이스인데 인터페이스에 대해서는 뒤에서 자세히 다루도록 한다.

add

1
2
3
4
5
6
7
8
9
10
import java.util.ArrayList;

public class Sample {
    public static void main(String[] args) {
        ArrayList pitches = new ArrayList();
        pitches.add("138");
        pitches.add("129");
        pitches.add("142");
    }
}

add메서드를 활용해 pitches 리스트에 원소를 넣을 수 있다. 만약 두개의 파라미터를 사용하면

첫번째 인덱스는 넣어줄 위치 인덱스값 두번째 인자는 넣어줄 값이 된다.

제네릭(Generics)

1
ArrayList<String> pitches = new ArrayList<String>();

<>안에 타입을 입력하여 배열의 타입을 선언할 수 있다.<Integer> <생성한 클래스> 등 어떤 자료형도 사용할 수 있다.

HashSet

Set 인터페이스의 대표적인 클래스 입니다. Set은 객체를 중복해서 저장할 수 없고 하나의 null 값만 저장할 수 있습니다. HashSet은 내부적으로 객체를 저장하기 전에 먼저 객체의 hashCode()메소드를 호출해서 해시코드를 얻어낸다음 저장되어있는 객체들의 해시 코드와 비교하여 같은 해시코드가 잆다면 equals()메소드로 두 객체를 비교하여 true가 나오면 동일한 객체로 판단하고 중복 저장을 하지 않는다.

1
HashSet<Integer> set1 = new HashSet<Integer>();//HashSet생성
This post is licensed under CC BY 4.0 by the author.