인터페이스
-> 추상 메서드의 집합 (핵심)
- 구현된 것이 전혀없는 설계도 모든 멤버가 public
인터페이스 와 추상클래스 차이점은 ??
- 추상클래스는 일반클래스 추상메서드를 가지니것 (생성자, iv)
인터페이스는 아무것도 없는거 전혀 없는거
인터페이스의 조상은 인터페이스만 가능 (Object 최고조상이 아님 )
다중 상속이 가능하다
+ 자바는 단일상속이다.
컬렉션
- 여러객체(데이터를) 모아 놓은 것을 의미
프레임웍
- 표준화, 정형화된 체계적인 프로그래밍 방식
컬렉션 프레임웍
- 컬렉션(다수의 객체)를 다루기 위한 표준화된 프로그래밍 방식
- 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공
예로 arrayList, hashsset
컬렉션 프레임웍 (다수의 data)
- List
- Set
- Map
List 저장 순서가 있고 중복을 허용한다 / 대기자 명단 - 순서가 있다 /
Set 순서 안됨 중복 안됨 ( List랑 반대) / 네발 동물 : 개, 고양이, 사자, 호랑이, 순서 안중요 중복 허용안됨
Map 키와 값의 쌍으로 이루어진 데이터 집합 / 우편번호, 지역번호 02 서울.. / 순서가 안중요 / 중복 키 중복 허ㅇ안됨 값은 중복 허용
List / Set => 공통 Collection
Collection 인터페이스의 메서드
add 추가
clear 전체 삭제
remove 삭제
size 개수 반환
======
List 인터페이스 순서 0 중복 0
ArrayList / LinkedList 중요
메서드
add 추가
remove 삭제
set 변경하는것
get 읽어오기
indexOf 지정된 객체의 위치를 반환한다 왼 -> 오른쪽 / 검색
lastIndexOf 지정된 객체의 위치를 반환 오른 -> 왼
sort 정렬
subList(int fromindex, int toindex) 지정된 범위 fromindex 부터 toindex 있는 객체 반환
Collection인터페이스 메서드도 포함되어있다
Set 인터페이스 순서 x 중복 x
HashSet, TreeSet
Collection인터페이스와 동일
집합과 관련된 메서드 있음 ( boolean을 반환한다 Collection 변화 있으면 true ,,)
Map 인터페이스 순서 x 중복 키x 값o
HashMap TreeMap
map인터페이스
put putAll 추가
remove 삭제
keySet 키만 가져옴
values 값만 가져옴 따로 collection 반환 순서 있어도되고 없어도 되고 중복 있어도되고 없더도되고
entrySet 키 값을 모두 가져오는것 set 으로 반환
ArrayList
기존의 vector개선한것으로 구현한것
동기화 x ( 쓰레드 에서 공부하기 )
저장순서 유지되고 중복을 허용한다
데이터의 저장공간으로 배열을 사용한다 (배열기반)
ArrayList 메서드
add 추가 / 성공시 true 실패 false
remove 삭제
clear 모든 객체 삭제
indexOf 검색 몇번의 인덱스에 있는지 알려줌 못찾으면 -1 왼 -> 오른
contains 객체가 존재하는지
get 객체 읽기
set 변경
imEmpty 비어있는지
trimTOsize 빈공간 제거
size 저장된 객체의 개수
ArrayList 는 객체만 저장이 가능하다
원래는 숫자 5 이렇게 넣으면 안되는데 오토박싱 덕분에 기본형이 참조형으로 자동 변환 되면서
5 이렇게 숫자만 넣어도 됨
subList 는 배열안에서 일부만 가져오는것 (1,4) 인덱스번호는 1<=x<4 이므로
1,2,3 인덱스 번호의 값만 가지고온다
list에 있는 숫자 1을 지우고 싶을때는 new Integer(1)을 해야함
arrayList 배열기반
LinkedList 연결기반
'코딩 > java (백엔드공부)' 카테고리의 다른 글
HttpURLConnection vs okhttp3, JsonObejct vs gson 장단점 및 간략하게 설명 (4) | 2024.10.27 |
---|---|
cafe 24 가상서버 구매 후 ( java 17, tomcat, mariadb 설치 ) + spring boot 3 mybatis, swagger 까지 잘되는지 확인 (0) | 2024.07.14 |
java 써블릿 웹 과 인터넷 기초 지식 용어정의 (0) | 2022.05.11 |
공부하는데 도움되는 사이트 모음 (계속 추가) (0) | 2022.05.09 |
java 복습 다형성 (0) | 2022.04.22 |