- java.util 패키지
- 다수의 데이터를 쉽게 처리하는 방법 제공 → DB처럼 CRUD 중요
List
- 특징
- 순서가 있는 데이터의 집합
- 순서가 있으므로 데이터의 중복을 허락
- 주요 메서드
List<String> friends = new ArrayList<>();
public void createTest(){
friends.add("홍길동");
friends.add("홍길동");
friends.add("장길산");
friends.add("임꺽정");
friends.add(0,"이몽룡"); //끼워넣기
}
배열과 ArrayList
- 배열의 장점
- 가장 기본적인 형태의 자료 구조로 간단하며 사용이 쉬움
- 접근 속도가 빠름
- 배열의 단점
- 크기를 변경할 수 없어 추가 데이터를 위해 배열을 만들고 복사해야 함
- 비 순차적 데이터의 추가, 삭제에 많은 시간이 걸림
- 배열을 사용하는 ArrayList도 태생적으로 배열의 장단점을 그대로 가져감
LinkedList
- 각 요소를 Node로 정의하고 Node는 다음 요소의 참조 값과 데이터로 구성됨
- 각 요소가 다음 요소의 링크 정보를 가지며 연속적으로 구성될 필요가 없다.
- 데이터의 삭제 및 추가
LinkedList와 Arraylist의 용도
결론
- 특정 클래스가 좋고 나쁨이 아니라 용도에 적합하게 사용해야 함
- 소량의 데이터를 가지고 사용할 경우는 큰 차이가 없음
- 정적인 데이터 활용, 단순한 데이터 조회용 : ArrayList
- 동적인 데이터 추가, 삭제가 많은 작업 : LinkedList
Set
Set Interface
- 특징
- 순서 없이 주머니에 구슬을 넣는 형태
- 순서가 없으므로 데이터를 구별할 index가 없어 중복이 허용되지 않는다.
- 효율적인 중복 데이터 제거 수단
- 주요 메서드
Map Interface
- 특징
- Key와 Value를 하나의 Entry로 묶어서 데이터 관리
- Key : Object 형태로 데이터 중복을 허락하지 않음
- Value : Object 형태로 데이터 중복이 허락 됨.
- Key와 Value를 하나의 Entry로 묶어서 데이터 관리
- 관련 클래스 관계도
- Map Interface의 주요 메서드
Map<String, String> hMap = new HashMap<>();
priavte void addMethod() {
System.out.println("추가 성공?: "+hMap.put("andy","1234"));
System.out.println("추가 성공?: "+hMap.put("andy","4567"));
hMap.put("kate","9999");
hMap.putIfAbsent("kate","1234");
hMap.put("henry","4567");
System.out.println("추가 결과: "+hMap);
}
포인트
Collection은 자바의 인터페이스로서 컬렉션의 기본 동작을 정의,
Collections는 유틸리티 클래스로서 Collection을 조작하고 변형하는 메서드 제공(정렬, 복사 등)
'JAVA' 카테고리의 다른 글
Spring 의존성 주입 방법 (0) | 2023.06.16 |
---|---|
Spring의 WebSocket (0) | 2023.06.08 |
자바의 추상 클래스 (0) | 2023.06.04 |
String 클래스의 메서드 (0) | 2023.06.02 |
자바 String 리터럴과 객체 생성의 차이 (0) | 2023.06.01 |