컴퓨터/Java
Java에서 기본적으로 제공하는 컬렉션 프레임 워크 중 ArrayList에 대하여 알아보고 사용해보도록 합시다.
ArrayList는 List 인터페이스를 상속받아 클래스의 형태로 구현되어 있어 바로 인스턴스화 시켜 사용할 수 있습니다.
arraylist는 배열형태로 구현한 리스트 자료형이라고 생각하시면 보다 쉽습니다.
이전 글들을 한번 참조해주세요
Java - 컬렉션프레임워크(CKP)
Collection framework Java의 기본적인 문법에 익숙해진다면 그다음 마주하게 될 녀석이 바로 이 컬렉션 프레임워크입니다. 말은 엄청나게 거창하지만 기본적으로 Java에서 자주 사용하는 자료구조와
blog-of-gon.tistory.com
자료구조 - List(리스트)와 종류
List 개념 이해하기 자료구조 중 하나인 List는 배열의 한계를 극복할 수 있는 강력한 자료구조 중 하나이며 데이터를 단순하지만 효율적으로 다룰 수 있는 자료구조입니다. List는 Array처럼 어떠한
blog-of-gon.tistory.com
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