<오늘의 학습>
1. HashMap과 ArrayList
2. Iterator
3. 심화 문제 풀이
1. HashMap과 ArrayList
[JAVA] 해시맵 실습 (17일차)
1. 해시맵 예제 ▶ 코드 HashMap hong = new HashMap(); HashMap yu = new HashMap(); hong.put("name","홍길동"); hong.put("age",30); hong.put("addr","서울"); hong.put("phone","010-1234-5678"); yu.put("name","유재석"); yu.put("age",50); yu.put("a
deliciouscode.tistory.com
[JAVA] 해시맵 심화 문제 풀이 (17일차)
문제1 입력 부분 -> 다음과 같이 map에 스캐너로 입력된 값 저장 -> key : name, value : 이름 (ex, 홍길동) -> key : age, value : 나이 (ex, 30) -> key : addr, value : 주소 (ex, 서울) => 해당 map을 list에 저장 삭제 부분
deliciouscode.tistory.com
2. Iterator
▶ Iterator<E> 인터페이스의 특징
- 컬렉션의 순차 검색을 위해 사용한다. Iterator 객체를 이용하면 인덱스 없이 순차적 검색이 가능하다.
- iterator() 메소드 : Iterator 객체 반환
- Vector, ArrayList, LinkedList가 상속받는 인터페이스
- 리스트 구조의 컬렉션에서 요소의 순차 검색을 위한 메소드 포함
▶ Iterator 인터페이스 메소드
메소드 | 설명 |
boolean hasNext() | 방문할 요소가 남아 있으면 true 리턴 |
E next() | 다음 요소 리턴 |
void remove() | 마지막으로 리턴된 요소를 제거 |
▶ 예제 1
▷ v 객체에 숫자를 5개 넣고 for문을 이용해 숫자를 출력할 수 있다.
Vector<Integer> v = new Vector<Integer>();
//v 객체에 숫자 5개 넣기
v.add(0);
v.add(1);
v.add(2);
v.add(3);
v.add(4);
for(Integer num:v)
System.out.println(num);
▷ Iterator 객체를 이용하여 인덱스 없이 순차적으로 검색할 수 있다.
Iterator<Integer> it = v.iterator(); //인터페이스
//it 위치를 -1 이라고 생각하면 이해하기 편하다.
while(it.hasNext()){//방문할 요소가 남아 있으면 true를 리턴한다.
System.out.println(it.next());
}
▶ 예제 2
- ArrayList<String> 생성
- 문자열 5개 스캐너로 입력 받아서 저장
- Iterator 객체를 통해서 출력
▷ 코드
ArrayList<String> list = new ArrayList<String>();
Scanner scan = new Scanner(System.in);
for(int i=0;i<5;i++){
System.out.print((i+1)+"번째 문자열 입력 >> ");
list.add(scan.next());
}
Iterator<String> itS = list.iterator();
while(itS.hasNext()){
System.out.println(itS.next());
}
scan.close();
▷ 출력 결과
1번째 문자열 입력 >> Kim
2번째 문자열 입력 >> Lee
3번째 문자열 입력 >> Park
4번째 문자열 입력 >> Jo
5번째 문자열 입력 >> Han
Kim
Lee
Park
Jo
Han
3. Iterator문제
[JAVA] Iterator 심화 문제 풀이 (17일차)
문제 입력 부분 -> 다음과 같이 Person클래스에 스캐너로 입력된 값 저장 -> String name : 이름 (ex, 홍길동) -> int age : 나이 (ex, 30) -> String addr : 주소 (ex, 서울) => 해당 Person 객체를 map에 저장 => 키 값은 n
deliciouscode.tistory.com
2023년 6월 8일 목요일
<17일차 수업 후기>
오늘은 HashMap과 ArrayList, Iterator를 이용한 심화 문제를 위주로 수업이 진행되었다. HashMap은 Iterator을 상속받지 못했기 때문에 Set을 이용해 key 값을 받아와서 사용하고, ArrayList는 Iterator를 상속받았기 때문에 바로 사용이 가능하다는 차이가 있었다. 처음 컬렉션과 제네릭을 배울 땐 알지 못했는데 오늘 Iterator를 이용해 실습하면서 16일차에 배운 내용을 많이 이해할 수 있었다.
이틀이라는 짧은 시간동안 실습해보았음에도 데이터를 추가하거나 삭제하는 부분에 대해 배열보다 훨씬 편했고, 왜 중요한 파트라고 말씀하셨는지 알 수 있었다. 아직은 완벽하지 않지만 잘 학습해서 내 지식으로 만들고 싶은 욕심이 생긴다.
'HRD_훈련 > JAVA' 카테고리의 다른 글
[JAVA] Test01 (18일차) (0) | 2023.06.10 |
---|---|
[JAVA] StringBuffer, StringTokenizer, Calendar (18일차) (0) | 2023.06.09 |
[JAVA] ★ Vector, ArrayList, HashMap ★ (16일차) (0) | 2023.06.07 |
[JAVA] 컬렉션과 제네릭 (16일차) (0) | 2023.06.07 |
[JAVA] String, Math 메소드 (15일차) (0) | 2023.06.05 |