일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 입력
- substring
- cmd
- pytthon
- 데이터타입
- java
- DISTINCT
- 삭제
- visual studio code
- primarykey
- MySQL
- groupby
- 테이블
- 생성
- Linux
- now()
- 조인
- 서브쿼리
- DB접속
- date_add
- 데이터베이스
- word wrap
- 리눅스 명령어
- live server
- 줄바꿈
- 3306
- EQUI
- foreignkey
- 집계 함수
- select
Archives
- Today
- Total
재유's
컬렉션 프레임워크 _ Map(HashMap), List(ArrayList) 본문
컬렉션 프레임워크
- 다수의 데이터를 쉽게 처리할 수 있는 표준화된 방법을 제공하는 클래스들의 모음
- 기존 배열 형태의 자료 저장에서 좀더 다양한 데이터들을 저장하기 위해 사용된다.
- 인터페이스 <-- 자식클래스
- 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