728x90
반응형
ArrayList
한번 길이를 선언하면 변경이 불가능한 Array와는 달리 ArrayList는 주어진 데이터의 길이만큼 변경 가능
기본형식: ArrayList<타입클래스> 변수이름 = new ArrayList<>();
<E>는 제네릭 이라고 불리고 <> 안에는 항상 클래스 변수가 들어가야 함. 따라서 기본자료형은 String Integer 등으로 적음
ArrayList는 .add 함수로 미리 값을 받아온 후에 .get함수로 추출해내야 한다.
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args) {
// 배열(Array)은 한번 선언하면 프로그램에서 크기 변경 불가
int[] data = new int [10];
for(int i = 0; i < 10; i++) {
data[i] = i+1;
System.out.println(data[i]);
}
// ArrayList는 데이터를 넣는대로 커지고 데이터를 제거하면 제거하는 만큼 작아진다
ArrayList<Integer> list = new ArrayList<>(); //jdk 1.7버전 이후
ArrayList<Integer> list2= new ArrayList<Integer>(); //jdk 1.5 버전 이전
// 형식은 array와 동일함
// <E> = 제네릭 이라고 부름, ArrayList에 저장될 데이터 타입을 입력.
// 단!!! 데이터의 타입은 반드시 Class로 적어야 함.
// <int, double, float>등 은 오류. 따라서 기본자료형을 저장 시에 class화 시켜놓은 랩퍼클래스 사용
// String, Integer, Double, Character 등
for(int i = 0; i < 10; i++) {
// add로 값을 얻어온 후에 get으로 출력
list.add(i);
System.out.println(data[i] + "list.get(" + i + i+ "): "+ list.get(i));
// System.out.println(list.get(i));
}
}
}
ArrayList의 주요 함수
.add .get .remove .clear
.remove()는 ()안에 int형 값을 대입하여 인덱스 값에 맞는 값을 지울 수 있고 or "hello"같은 값을 직접 입력해서 지울 수 있음
import java.util.ArrayList;
public class ArrayListTest2 {
public static void main(String[] args) {
// 배열(Array)은 한번 선언하면 프로그램에서 크기 변경 불가
ArrayList<String> list = new ArrayList<>();
// add(value): Arraylist의 맨 뒤에 데이터를 추가한다. 파이썬 append 개념
list.add("hello");
System.out.println(list);
// 뒤쪽부터 데이터가 들어가는 것을 볼 수 있다.
list.add("bye");
System.out.println(list);
list.add("hi");
System.out.println(list);
// size(): arraylist에 저장된 데이터의 개수를 얻어옴. length 개념
System.out.println(list.size());
// add(index, value): Arraylist의 지정된 index의 위치에서부터 삽입한다.
list.add(1, "1번에 추가된 String");
System.out.println(list);
// set(index, value): 데이터를 수정한다
list.set(1, "추가된 String을 Int로 수정");
System.out.println(list);
System.out.println();
// for문 (size + get): 특정위치의 데이터를 받아옴
for(int i = 0; i <list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println();
// 향상된 for문을 사용하여 출력
for(String str : list)
System.out.println(str);
// remove(index): ArrayList의 index 번째 위치를 제거한다
list.remove(1);
System.out.println("추가된 1번 제거 " + list);
// 혹은 데이터를 직접 지정해서 제거 가능
list.remove("bye");
System.out.println("bye 제거 " + list);
// clear() : 모든 데이터 제거
list.clear();
System.out.println("모든 데이터 제거: " + list.size() +" "+list);
}
}
728x90
반응형
'국비과정 > 자바 선행학습 (1-17~1-21,22)' 카테고리의 다른 글
자바 선행학습 5일차 (마지막) - class 생성 예시 (0) | 2022.01.22 |
---|---|
자바 선행학습 5일차 (마지막) - class, 생성자, 메소드 (0) | 2022.01.22 |
자바 선행학습 4일차 - class & method & 반복문게임 (0) | 2022.01.20 |
자바 선행학습 3일차 - Random, refactoring, 더블 for문, while & do-while, Date, SimpleDateFormat, equals(), String method (0) | 2022.01.19 |
자바 선행학습 2일차 - for , 향상된 for, switch random (0) | 2022.01.19 |