Array
Java의 기본 함수인 Array 배열은 생성할 때 무조건 갯수를 정해놓고 생성해야 한다.
숫자가 정해져 있는 데이터에만 사용할 수 있다.
String[] nameArr = new String[5];
위의 배열은 정해진 갯수 이상으로는 데이터 추가가 불가능하다.
따라서 갯수 제한없이 마음대로 데이터를 추가할 수 있고, 삭제할 수도 있는 ArrayList를 사용한다.
ArrayList
먼저 함수 위에 ArrayList를 자바 유틸에서 불러와서 연결해야 한다.
import java.util.ArrayList;
그리고 클래스 함수 안에서 아래 구문으로 빈 리스트를 생성할 수 있다.
ArrayList<String> nameList = new ArrayList<>();
CRUD
Create
데이터 넣기. 위의 리스트 생성 구문의 String이라는 '타입명'과 홍길동 '데이터'의 타입이 일치해야 한다!
nameList.add("홍길동");
nameList.add("홍설");
nameList.add("철이");
Read
데이터 가져오기. 두 번째 정보를 불러와서 출력해 본다.
System.out.println(nameList.get(1));
Update
데이터 변경. 두 번째 정보의 내용을 Jane으로 변경한다. 출력도 해 본다.
nameList.set(1, "Jane");
System.out.println(nameList.get(1));
Delete
데이터 삭제. index 0(처음)부터 모두 삭제한다.
nameList.remove(0);
전체 데이터 루프 도는 방법 (전체 프린트 하기)
아래 두 가지 방법을 다 사용해야 한다. for each가 안 되는 경우도 있다.
오리지널 for 방식
for (int i = 0; i < nameList.size(); i++) {
System.out.println(nameList.get(i));
}
for each 반복문
: 파이썬의 for 같은 반복문이다.
for ( String name : nameList) {
System.out.println(name);
}
ArrayList에 데이터가 몇 개 있는지 확인하는 방법
System.out.println(nameList.size());
데이터가 비어있는지 확인하는 방법
System.out.println(nameList.isEmpty()); // 비어있지 않아서 false
데이터를 모두 삭제하는 함수
nameList.clear();
System.out.println(nameList.isEmpty()); // 비어있어서 true
import java.util.ArrayList;
public class ArrayListMain {
public static void main(String[] args) {
// Array 배열은 생성할 때 무조건 갯수를 정해놓고 생성해야 한다. 이게 단점이다.
// 숫자가 정해져있는 데이터에만 사용할 수 있다.
String[] nameArr = new String[5];
// 위의 배열은, 정해진 갯수 이상으로는 데이터 추가가 불가능하다!!!!!
// 따라서 갯수 제한없이 데이터를 마음대로 추가할 수도 있고, 삭제할 수도 있는 ArrayList를 이용한다.
// 자바는 데이터 타입이 엄격하다.
// 데이터가 아무것도 없는 비어있는 리스트 생성
// 파이썬에서의 my_list = [] 와 같다.
ArrayList<String> nameList = new ArrayList<>();
// 데이터 넣기 Create
nameList.add("홍길동"); // 외울 것. String이라는 '문자타입'과 홍길동 '문자열'은 일치해야 한다!
nameList.add("홍설");
nameList.add("철이");
// 데이터 가져오기 Read
System.out.println(nameList.get(1));
// 데이터 변경 Update
nameList.set(1, "Jane");
System.out.println(nameList.get(1));
// 데이터 삭제 Delete
nameList.remove(0);
// 전체 데이터 루프 도는 방법 (프린트하는 법)
// 아래 두 가지 방식을 다 사용해야 한다. for each가 안 되는 경우가 있음.
// 오리지날 for 방식
for (int i = 0; i < nameList.size(); i++) {
System.out.println(nameList.get(i));
}
// for each 반복문 !!!!!!!
// 파이썬의 for같은 반복문이다.
for ( String name : nameList) {
System.out.println(name);
}
// ArrayList에 데이터가 몇 개 있ㄴ는지 확인하는 방법
System.out.println(nameList.size());
// 데이터가 비어있는지 확인하는 방법
System.out.println(nameList.isEmpty()); // 비어있지 않아서 false
// 데이터를 모두 삭제하는 함수
nameList.clear();
System.out.println(nameList.isEmpty()); // 비어있어서 true
}
}