예시)
10이 두번 입력 되더라도, 한번만 입력된것으로 나온다.
Set의 출력
향상된 for문을 통해서 출력하거나, Iterator를 통하여 저장되어 있는 객체를 출력하는 방법도 가능하다.
예시)
random은 0에서 부터 () 괄호 안의 매개 변수보다 1 작은 숫자를 사용하기에 +1을 해주면, 1 ~ 45까지 추출을 하게 됩니다.
Collection의 생성자에 다른 Collection을 넣어서 객체를 생성할 수 있다.
이때, 기존 컬렉션의 구성 요소가 새로운 컬렉션에 그대로 이전 된다.
Set을 이용하여 List 만들기
List에는 index가 존재하기에 정렬이 가능하다.
예시)
List.add() 하듯
Map.put("Key" ,"Value") 형식으로 생성하고, 값을 가져올때는 arr[i] 처럼 map.get(key) 형식으로 불러 올 수 있다.
key 로 value를 호출 할 수 있지만 value를 호출한다고 해서 key 값이 도출되진 않는다.
-map 내부의 값 출력 방식
Set , Iterator, Enumeration, EntrySet등이 있다. 추출방법이 여러가지인 이유는 Library 에서 제공되는 메서드들의 반환식이 각각 다르기에 여러 방법이 존재하나. 결과적 도출에 이르는 단계는 보통 다 비슷하다.
-HashMap
Map은 다수의 값을 하나로 묶어서 전달해야 할 때 사용된다.
예시)
먼저 main 함수 위로 Class를 만들고 HashMap 객체를 생성하여 데이터들을 입력 해주고, selectAll() 이라는 함수도 선언해준다.
selectAll()은 만들어져 있는 hashMap 타입의 map을 entrySet()으로 출력가능한 방식으로 변환시킨다음 for문 안에서 keyword를 포함하는 글자를 찾아서 result라는 HashMap 타입의 새로운 객체에 저장하여서 반환합니다.
main문 안에서는 selectAll()한 함수를 반환 받아서 그 반환 받은 값을 또다시 for문을 통해 출력해주고 있습니다.
Map의 출력
class Person을 만들고 기본생성자와 멤버 필드 이름과 나이는 getter 와 setter를 선언해두었습니다. 그리고 출력을 위한 toString을 오버라이딩해줍니다.
main문에서는 Person으로 만든 객체와 HashMap 타입의 객체를 만들고 Person은 setter를 통하여 이름과 나이를 대입시켜주고, HashMap에서는 객체의 키 값을 name 과 age로 설정하여 value를 대입시켜서 출력하고 있습니다.