본문 바로가기
인천일보아카데미/- 학습일지

[학습일지]JAVA교육일지 31일차

by w1z 2022. 6. 10.

컬렉션 프레임워크(Collections Framework)

List 인터페이스

ArrayList


컬렉션 프레임워크(Collections Framework)

[정의]

- 컬렉션(Collection) : 다수의 데이터, 즉 데이터 그룹

- 프레임워크(Framework)  표준화된 프로그래밍 방식

- 컬렉션(Collection) + 프레임워크(Framework) : 데이터를 저장하는 클래스들을 표준화한 설계

 

List 인터페이스

[특징] 

- 중복을 허용하면서, 저장순서가 유지되는 컬렉션을 구현하는데 사용한다.

 

[구현 클래스]

- ArrayList, LinkedList, Stack, Vector 등...

 

ArrayList

[특징]

1. 컬렉션 프레임워크에서 가장 많이 사용되는 컬렉션 클래스이다.

2. List인터페이스를 구현하기 때문에, 데이터의 저장순서가 유지되며 중복을 허용한다..

3. 데이터를 순차적으로 저장되며, 더이상 저장할 공간이 없으면 보다 큰 새로운 배열을 생성해서 기존의 배열에 저장된 내용을 새로운 배열로 복사한 다음에 저장된다.

 

[메서드]

List<String> list = new ArrayList<String>();

/* 
 * 1. 요소 추가하기
 * - 지정된 위치(index)에 객체(element) 또는 컬렉션에 포함된 객체들을 추가한다.
 * - 배열의 맨마지막에 추가한다.(append)
 * - boolean add(T Value)
 */
list.add("빨강");
list.add("주황");
list.add("노랑");

/* 
 * 2. 요소 접근
 * - 지정된 위치(index)에 있는 객체를 반환한다.
 * - T get(int index)
 */
System.out.println(list.get(0));
System.out.println(list.get(1));
System.out.println(list.get(2));

/* 
 * 3. 요소 검색(찾기)
 * - 지정된 객체의 위치(index)를 반환한다.
 * - boolean contains(T Value) : true, false
 * - int indexOf(T Value) : 몇번째? (방향 : -> )
 * - int lastIndexOf(T Value) : 몇번째? (방향 : <- )
 */
System.out.println(list.contains("빨강"));
System.out.println(list.indexOf("노랑")); 
System.out.println(list.lastIndexOf("노랑"));

/* 
 * 4. 요소 삭제
 * - 지정된 위치(index)에 있는 객체를 삭제하고 삭제된 객체를 반환한다.
 * - Object remove(int index)
 */
 list.remove(1);
 list.remove(2);
 
/* 
 * 5. 요소 수정
 * - 지정된 위치(index)에 객체를 저장한다.
 * - Object set(int index, Object element)
 */
 list.set(1, "검정색");
 list.set(2, "파란색");
 
/* 
 * 6. 요소 갯수
 * - int size()
 */
 list.size();
 
 

 

[Array와 ArrayList의 차이점]

- Array : 배열의 길이가 불변이다.

- ArrayList : 배열의 길이가 가변이다.


MEMO>

 

# 주말동안 ArrayList 직접 코드 구현하자

# 원하는 키워드에 커서를 두고 단축키 F3 누르면 해당 메소드로 이동한다.

# ArrayList에서 삽입, 삭제할때 좌측시프트, 우측시프트????