Java 컬렉션 프레임워크[ Collection Framework ]

NasK!m_311·2022년 9월 1일
0

Java

목록 보기
37/39
post-thumbnail

💡 Collection Framework란?

  • 다수의 데이터를 쉽게 처리할 수 있는 표준화된 방법을 제공하는 클래스이다.
  • 기존 배열형태의 자료 저장에서 좀 더 다양한 데이터들을 저장하기 위한 필수 클래스이다.

💡 Collection Framework의 종류

1. List

	-> 중복된 값 허용.
    -> '순서가 존재.'
    -> 'ArrayList' (배열을 황욜해서 만들어져 있음. 물리적인 방식.)
    -> LinkedList (논리적인 방식)
    ...
    
    
2. set
	
    -> 중복된 값 x.
    -> 순서가 없다.
    -> HashSet
    -> TreeSet
    ...
    
    
3. Map

	-> 새롭게 인덱스번호를 만들고 싶을 때 사용.
    -> 'key(인덱스)와 Value(값) 한 쌍을 저장'할 떄 사용.
    -> 'HashMap'
    -> TreeMap
    ...


💡 ArrayList Class

- ArrayListList인터페이스를 상속받는 클래스로,
	데이터를 이름표 없이 무제한으로 보관할 수 있다.
    
- ArrayList에 추가되는 데이터는 순차적으로 배열과 같은 인덱스번호를 부여 받는다.

- 상위 인터페이스형으로 선언하고 ArrayList클래스로 객체를 할당하며,
	선언과 할당시에는 보관하고자 하는 자료형에 대한 '제너릭스'를 명시한다.

-------------------------------------------------------------------------------'ArrayList 선언 방법.'
	
    List<요소클래스타입> 리스트이름 = new ArrayList<요소클래스타입>();
    -> 뒤쪽 클래스타입은 생략 가능.

-------------------------------------------------------------------------------'ArrayList Class의 여러가지 메소드'

	1. isEmpty() : 비어있다면 true 아니면 falsereturn 되는 메소드
	
    2. size() : 리스트 요소 갯수를 return
    
    3. add(요소) : 요소를 맨 뒤에 추가
    
    4. add(인덱스번호, 요소) : 해당 인덱스 위치에 요소 삽입
    
    5. remove(인덱스) : 해당 인덱스 요소 삭제, 해당요소 return
    
    6. remove(요소) : 해당 요소 삭제, 성공시 true 실패시 false return
    
    7. get(인덱스번호) : 해당 인덱스번호 요소 가져오기

💡 HashMap Class

- HashMap ClassMap인터페이스를 상속받는 '자료보관소'이기 때문에,
	암묵적 객체형변환 규칙에 따라 Map형태로 선언하고 HashMap형태로 할당한다.
    
- 선언과 할당시에 HashMap의 이름표로 사용할 데이터형(String)HashMap에 저장할 데이터형을 
	클래스의 이름으로 명시해야 하는데 이를 '제너릭스'라 한다.    
    
- 제너릭스에 명시할 수 있는 데이터형은 반드시 클래스 이름이어야하기 때문에,
	기본자료형을 보관할 경우 Wrapper클래스의 이름을 사용한다.
    
- 기존에 저장된 데이터와 중복되는 이름이 저장될 경우,
	기존에 저장된 데이터를 덮어 씌우게된다.

- 인덱스번호가 없기 때문에 'for문은 사용 불가'하다.

- Iterable 타입이 아니기 때문에 '빠른 for문 사용 불가'하다.

-------------------------------------------------------------------------------'HashMap 선언 방법.'

	Map<String, 저장할 데이터의 클래스이름> 리스트이름 = new HashMap<>();
    
-------------------------------------------------------------------------------'HashMap Class의 여러가지 메소드'    

	1. size() : 크기
    
    2. put(key값, value값) : 추가 
    	[ value값은 중복 가능. key값은 중복 불가, 존재하는 key값을 쓰면 수정됨. ]
    
    3. get(key값) : 값을 가져오는 메소드
    
    4. remove(키값) : 값을 제거하는 메소드
    
    5. keySet() : 키값을 가져오는 메소드 
    	-> 이 메소드를 사용하면 빠른 for문 사용 가능.
        
	6. values() : value들이 들어있는 컬렉션(리스트) 객체가 return        
profile
메리아빠, 먹다가 죽어도 되는 개발자.(살뺴자....)

0개의 댓글