Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
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
Archives
Today
Total
관리 메뉴

한바다

[JAVA]List Set Map 본문

카테고리 없음

[JAVA]List Set Map

한바다주인공 2024. 5. 2. 21:56

#liST

[정의]

-.자료를 순차적으로 나열한 구조로 순서가 있는 데이터 컬렉션(순서를 유지하고 저장)

-.인덱스가 존재하며 인덱스로 순서가 구분되기 때문에 중복 데이터 저장 가능

즉 중복을 포함할 수 있다.(Set ,Map은 중복 불가)

-.배열에서 변환이 된 인터페이스이지 배열이 아니다. 인터페이스 객체로 생성이 불가능.

리스트는 인터페이스이기 떄문에 단독으로 사용불가, 다형성으로 이용할 수 있음

-.크기를 유동적으로 조정할 수 있다.

-.요소의 추가 제거 변경 등을 편리하게 할수 있다.

[구현클래스]

ArrayList

Vector

LinkedList

 

[사용예제]

-.list<자료형> 변수명 = new ArrayList<>();

-.add로 하나씩 추가하는 것이 아니라 한번에 값을 추가하기

ArrayList<String> 색상들 = new ArrayList<>(Arrays.asList("black","white"));

                                                                   //()에 Arrays.asList()넣고 싶은만큼 추가 가능    

 

[주요메서드]

add() : 주어진 객체를 맨 끝에 추가

set() : 주어진 인덱스에 저장된 객체를 주어진 객체로 바꿈

contain() : 주어진 객체가 저장되어 있는지 여부

get() : 주어진 인덱스체 저장된 객체를 리턴

iterator() : 저장된 객체를 한번씩 가져오는 반복자 리텅

isEmpty() : 컬렉션이 비어 있는지 조사

size() : 저되어 있는 전체 객체수를 리턴

clear() : 저장된 모든 객체를 삭제

remove(index) : 주어진 인덱스에 저장된 객체를 삭제

remove(object) : 주어진 객체를 삭제

 

 

 

#Set     

[정의]

-. 저장 순서가 유지되지 않고, 중복 객체도 저장하지 못하게 하는 자료 구조 (집합, 주머니)

-. 중복데이터 저장 못하며 같은게 들어오면 덮어쓴다

[구현 클래스]

-.set:  HashSet(대표)  : 처리 속도가 빠른 set, 가장많이 사용하는 set
          LinkedHashSet :순서를 유지하는  set, 어떤 특정 정렬을 통해서 검색하여 저장하는 방법
          TreeSet       : 자동정렬되는 set , 특정연결을 사용해서 값을 저장하는 추가된 순서대로 유지

 

[주요메서드]

add() : 추가

remove() : 제거

contains() : 데이터 존재여부 확인

size() : 개수 확인

isEmpty() : 비어있는지 확인

 

[사용예제]

-.Set<자료형> 셋 = new HashSet<>();

-.HashSet<자료형> 해시셋 = new HasgSet<>();

-.TreeSet 배열에서 한번에 넣기

TreeSet<String> 과일들 = new TreeSet<>(Set.of("키위","사과","딸기"));

                                                                    //Set.of(" "," "," "," ",)

 

#Map    

[정의]

-.키(key) - 값(value) 한쌍의 집합을 이루는 구조. 키와 값은 모두 객체

-.키는 값에는 숫자,문자,문자열 등 어떤 값이 들어가도 된다.(값 또한 모든 값이 들어갈 수 있음)

-.키는 중복 저장을 허용하지 않고(Set방식), 값은 중복저장가능(List)

-.키가 중복되는 경우, 기존에 있는 키에 해당하는 값을 덮어 쒸움

[구현클래스]

HashMap : 가장 많이 사용

HashTable

LinkedMap :순서를 보장하는 연결이 필요할 때 사용

Properties

TreeMap : 이진 트리로 빠른 검색이 필요할 때 사용

 

[주요메서드]

-put(key,value) :지정된 키와 값을 맵에 추가, 만약 동일한 키가 이미 존재한다면 이전 값은 새로운 값으로 대체

-get(key):지정된 키에 해당하는 값을 보여줌

-containsKey(key) :맵에 지정된 키가 포함되어 있는지 확인

-containsValue(value) :맵에 지정된 값이 포함되어 있는지 확인

-remove(key): 지정된 키와 해당하는 값을 제거

-Map.Entry<자료형, 자료형>

-Map 인터페이스 안에서 작성된 내부 클래스 Entry : 키와 값의 쌍을 나타냄

-보통은 entrySet() 메서드를 사용해서 키-값 에 대한 정보를 보여주는 모든 키와 값의 쌍을 한번에 보여주지만

-Map.Entry써서 전체에서 하나씩하나씩 꺼내서 보여줌 맵 안에서 각각의 키- 값

-또는 getKey()  getValue() 를 사용해서 각각 가져올 수 있기도 함