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 	
	}
}

+ Recent posts