재유's

컬렉션 프레임워크 _ Map(HashMap), List(ArrayList) 본문

IT Story/Java

컬렉션 프레임워크 _ Map(HashMap), List(ArrayList)

Stella_NY 2018. 12. 17. 10:43
컬렉션 프레임워크
  • 다수의 데이터를 쉽게 처리할 수 있는 표준화된 방법을 제공하는 클래스들의 모음
  • 기존 배열 형태의 자료 저장에서 좀더 다양한 데이터들을 저장하기 위해 사용된다.
  • 인터페이스 <-- 자식클래스

  • Map (HashMap)


key와 value의 쌍으로 데이터를 저장한다. --> ex) 파이썬 딕셔너리


    • 객체생성하기

key로 사용할 데이터의 형식과 값으로 사용할 데이터의 형식(클래스 이름)을 객체 생성시 <> 안에 명시한다.

key는 문자열을 사용하는 것이 보통

값의 경우 상황에 따라 다른다.

기본 자료형에 대한 처리가 필요할 경우 Wrapper클래스를 사용


1
2
3
4
5
6
7
8
import java.util.HashMap;
import java.util.Map;
 
public class CollectionFrame {
    
    Map<String, 클래스> map = new HashMap<String, 클래스>();
    
}




    • 데이터 저장하기

1
map.put(key, value);



    • 데이터 조회하기

1
2
//value가 리턴된다.
map.set(key);



    • 저장된 데이터의 수

1
int count = map.size();





  • List (ArrayList)

ArrayList는 List 인터페이스를 상속받는 클래스

데이터를 이름표 없이 무제한으로 보관할 수 있다.

ArrayList에 추가되는 데이터는 순차적으로 배열과 같은 인덱스 번호를 부여받는다.

상위 인터페이스 형으로 선언하고 ArrayList클래스로 객체를 할당

선언과 할당 시에는 보관하고자 하는 자료형에 대한 제너릭스를 명시한다.


    • 객체생성하기

1
2
3
4
5
6
7
8
import java.util.ArrayList;
import java.util.List;
 
public class CollectionFrame {
    
    List<저장할 데이터의 클래스 이름> list = new ArrayList<저장할 데이터의 클래스 이름>();
    
}





    • 데이터 추가, 조회, 삭제


1
2
3
4
5
int i = list.add(데이터);    // 데이터가 추가된 위치의 인덱스가 리턴됨
list.add(i, 데이터);         // 특정 위치에 데이터 추가    <-기존의 데이터는 뒤로 밀린다.
데이터 = list.get(i);        // 인덱스를 통한 데이터 꺼내기
list.remove(i);             // 인덱스를 통한 데이터 삭제 <-삭제된 이후의 데이터들이 앞으로 한 칸씩 이동
int count = list.size();    // 추가된 데이터의 수 



'IT Story > Java' 카테고리의 다른 글

[JAVA] DAO(DataAccessObject) 패턴  (0) 2018.12.18
[JAVA] JSON  (0) 2018.12.18
[JAVA] 날짜처리 Calendar 클래스  (0) 2018.12.17
[JAVA] 예외처리 try ~ catch  (0) 2018.12.14
[JAVA] 정규 표현식 (Regular expression)  (0) 2018.12.14
Comments