[Java] 배열 / ArrayList

sese·2022년 11월 9일

새싹

목록 보기
30/39

배열

  • Java에서의 배열은 생성할 때 배열의 크기를 미리 지정해주어야 한다.
// Arrays 클래스 가져오기
import java.util.Arrays;

public class Main {

	public static void main(String[] args) {
		
		// 배열 선언 & 생성
		int[] intArray = new int[2];
		
		intArray[0] = 1;
		intArray[1] = 2;
		
		// 선언 & 초기화
		int[] intArray2 = {1, 2};
		
		// [1, 2]과 같은 형태로 출력하기
		for(int i=0; i<intArray2.length; i++) {
			if (i == 0) System.out.print("[");
			
			System.out.print(intArray2[i]);
			
			if (i == intArray2.length-1) System.out.println("]");
			else System.out.print(", ");
		}
		
		// Arrays 클래스의 toString 메소드를 활용하면 자동으로 [1, 2] 형태로 출력해준다.
		System.out.println(Arrays.toString(intArray));
		
		// for-each 문
		for(int value: intArray) {
			System.out.print(value + " ");
		}
	}

}


ArrayList

  • 표준 배열보다 조금 느릴 수 있지만, 배열에서 많은 조작이 필요할 때 유용하게 사용되는 클래스
  • 크기를 미리 정하지 않아도 되는 배열
import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {
		
		// ArrayList<> 클래스로 선언한 객체 
		ArrayList<Integer> arrayList = new ArrayList<>();
		ArrayList<Integer> arrayList2 = new ArrayList<>();
        
        arrayList.add(2);
		arrayList.add(3);
        
        // add(index, element) : index 위치에 element 삽입
		arrayList.add(0, 1);
		
		arrayList2.add(10);
		arrayList2.add(20);
		arrayList2.add(30);
		
		// addAll(ArrayList) : arrayList 뒤에 arrayList2추가
		arrayList.addAll(arrayList2);
		
		// 해당하는 index의 요소 삭제
		arrayList.remove(0);
        
        // ArrayList는 List 인터페이스를 상속받은 클래스다
        // list는 arrayList로 만들었지만 type은 리스트인 것
		// Person me = new Kim(); 이렇게 타입을 더 크게 지정할 수 있다
        List<Integer> list = arrayList.subList(1, 3);
		
		for (int value : arrayList) {
			System.out.println("arrayList : " + value);
		}
		
		for (int i=0; i<list.size(); i++) {
            // index에 해당하는 요소 리턴
			System.out.println("List : " + list.get(i));
		}
		
		// 모든 요소 삭제
	    arrayList2.clear();

		// ArrayList의 길이 리턴
		System.out.print("\n" + arrayList.size());
		// 배열 안에 값이 있으면 index 반환, 없으면 -1 반환
		System.out.println("\n" + arrayList1.indexOf(2));
		
	}

}
profile
예전 글은 다크모드로 봐야 잘 보일 수도 있습니다.

0개의 댓글