보라코딩

Day18_230119_컬렉션 프레임워크 (list 실습, Set) 본문

코딩/Java

Day18_230119_컬렉션 프레임워크 (list 실습, Set)

new 보라 2023. 1. 19. 19:20

 

ArrayList 실습

 

2번의 경우

내 코드보다 강사님 코드가 훨씬 깔끔!

stringbuilder에 넣은 후 마지막 ","  삭제하는 것도 편리하다

 

 

 

 

 

 

 

 

ArrayList 실습
(이전에 만들었던 StudentVO 클래스 이용)


 

이전에는 제네릭에 String만 넣었는데

이젠 직접 만든 StudentVO 클래스를 제네릭에 넣었다.

 

 

 

list.get(i)만 해도 저렇게 나오는 이유는

StudentVO에 toString을 오버라이드 해두었기 때문!

 

값을 변경해도 바로 계산될 수 있도록

setKr()에 calculate()메서드를 넣어두면 편리하다

 

 

 

이전에 만든 StudentVO 클래스 살펴보기

(필드 변수 선언 / 생성자 작성 / setter, getter / toString 오버라이드 / calculate() 메서드)

 

 

 

 


 

 

 

HashSet


* Set : 순서X, 중복X => 특정데이터 조회불가, 수정불가 (iterator사용)

 

set은 순서가 없기 때문에

넣은 순서대로 나오지 않고

주머니에 들어 있는 형태이기 때문에

특정 원하는 데이터를 바로 꺼내올 수도 

수정할 수도 없다.

 

 

 

iterator와 add, remove를 사용하여 수정 변경할 수는 있다.

또는 contain 사용해서 확인하는 방법도 있음

 

 

<Clone 메서드 관련하여 주의할점>

// HastSet이여야 clone쓸 수 있고 Set이면 clone 못쓴다!
// List도 clone 못쓰고 ArrayList, LinkedList일때 clone 쓸 수 있음!
// clone 후 값 변경해도 같이 변경 안됨