컴퓨터/Java
Java에서 기본적으로 제공하는 컬렉션 프레임 워크 중 ArrayList에 대하여 알아보고 사용해보도록 합시다.
ArrayList는 List 인터페이스를 상속받아 클래스의 형태로 구현되어 있어 바로 인스턴스화 시켜 사용할 수 있습니다.
arraylist는 배열형태로 구현한 리스트 자료형이라고 생각하시면 보다 쉽습니다.
이전 글들을 한번 참조해주세요
arraylist를 사용하기 위해서는 우선 인스턴스화 된 객체화를 시켜야 합니다.
이클립스와 같은 IDE 툴을 사용한다면 자연스럽게 사용하는 라이브러리가 import 됩니다. ArrayList의 경우 java.util을 import 하여 사용할 수 있습니다.
전체적인 선언의 소스코드를 보면 아래와 같습니다.
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
//ArrayList list2 = new ArrayList();
}
}
기본적으로 ArrayList의 경우 제너릭의 개념이 적용되어 있으므로 ArrayList에 담을 타입을 제너릭을 통해 명시해 주는 것이 좋습니다.
선언된 ArrayList에 . add 메서드를 통하여 값을 추가할 수 있습니다. 크게 2가지 방법이 있습니다.
.add 메서드에 하나의 인자만 들어간다면 가장 뒤의 자리에 값이 추가됩니다.
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
//ArrayList list2 = new ArrayList();
list.add(1);
list.add(5);
}
}
첫 번째 인자로 인덱스를 지정하여 원하는 인덱스 위치에 값을 삽입할 수 있습니다.
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
//ArrayList list2 = new ArrayList();
list.add(1);
list.add(5);
list.add(0,50);
System.out.println(list);
}
}
Integer 타입만을 명시했기 때문에 int밖에 삽입이 안됩니다.
null의 경우 빈 공간을 표시하기 위해 가능합니다.
// list.add("hi"); error!
list.add(null); // 빈 공간의 삽입
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
//ArrayList list2 = new ArrayList();
list.add(1);
list.add(5);
list.add(0,50);
// list.add("hi");
list.add(null);
list.remove(1);
System.out.println(list);
}
}
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
//ArrayList list2 = new ArrayList();
list.add(1);
list.add(5);
list.add(0,50);
// list.add("hi");
list.add(null);
list.remove(1);
list.clear();
System.out.println(list);
}
}
어떠한 ArrayList의 인덱스 참조를 하고 싶은데 크기를 모를 경우 아래처럼 사용합니다.
인덱스는 0부터 시작하고 size는 1부터 시작함으로 주의!
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
//ArrayList list2 = new ArrayList();
list.add(1);
list.add(5);
list.add(0,50);
// list.add("hi");
list.add(null);
int size;
size = list.size();
System.out.println(size);
System.out.println(list);
}
}
해당 메서드의 경우 값이 있는 index를 반환해 줍니다 만약 존재하지 않는다면 -1을 반환합니다.
또한 중복되는 값이 있다면 가장 먼저 찾은 인덱스를 반환해 줍니다.
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
//ArrayList list2 = new ArrayList();
list.add(1);
list.add(5);
list.add(0,50);
list.add(1);
list.add(null);
System.out.println(list.indexOf(1));
System.out.println(list.indexOf(100));
System.out.println(list);
}
}
이 메서드를 이용하면 list안에 값이 있는지 없는지를 true 또는 false로 반환해 줍니다.
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
//ArrayList list2 = new ArrayList();
list.add(1);
list.add(5);
list.add(0,50);
list.add(1);
list.add(null);
System.out.println(list.contains(1));
System.out.println(list.contains(100));
System.out.println(list);
}
}
Java - 예외(Exception)란? (0) | 2021.12.16 |
---|---|
Java - HashMap (0) | 2021.10.29 |
Java - import (0) | 2021.10.08 |
Java - 제네릭(Generic) (0) | 2021.10.06 |
Java - 컬렉션프레임워크(CKP) (0) | 2021.10.05 |
91년생 공학엔지니어의 개발일지
TODAY :
YESTER DAY :
TOTAL :
Commnet