후발대수업_15. Iterator, 퀴즈, 익명클래스 Iterator : 프로그래밍에서 이터레이터는 개발자가 컨테이너, 특히 리스트를 순회할 수 있게 해주는 객체다. 이터레이터는 데이터베이스 커서와 동작이 유사하다. 객체 지향적 프로그래밍에서 배열이나 그와 유사한 자료구조의 내부요소를 순회하는 객체 배열이나, 셋, 맵을 순회하고 불필요한 데이터를 바로 삭제 할 수 있다. 익명클래스는 내부클래스 (Inner Class) 일종으로 단어 그대로 이름이 없는 클래스를 말한다. 익명 클래스는 클래스 정의와 동시에 객체를 생성할 수 있다. 따로 클래스 정의 없이 메소드 내에서 바로 클래스를 생성해 인스턴스화 할 수 있으며 이렇게 클래스의 선언과 객체의 생성을 동시에 하기 때문에 단 한번만 사용 될 수 있고, 익명으..
LinkedList (2) public class _05_LinkedList { public static void main(String[] args) { // 링크드 리스트 // 여러명이 앉을 의자가 있다고 가정한 설명 /* 먼저 어레이리스트는, 여러명이 앉을 의자가 연달아 있으면, 중간에 누가 앉으려고 한다면 그 사람의 위치로부터 그 사람 뒤에 있는 사람들이 모두 일어나서 한 칸씩 이동해야 하는 번거로움이 있다. 링크드 리스트는 의자 없이 사람들이 나란히 손을 잡고 있는 상황이다. 중간에 한 명이 2-3번 사이로 들어간다고 하면, 잡았던 손을 놓고, 그 사이에 들어가고 나서 기존에 2-3번에 있는 사람과 손을 잡으면서 쉽게 여러 사람들 사이로 들어갈 수 있다. 그냥 손을 놨다가 새로 들어온 사람과 손을..

목차 객체지향 문법 1 # 클래스 - 클래스가 필요한 이유 - 클래스 멤버 - static # 객체 - 객체의 비교 - 객체 멤버 # 생성자 - 생성자가 필요한 이유 - 기본생성자 클래스는 설계도 객체는 만들어 낸 대상 클래스는 무엇인가? 클래스 : 변수와 함수의 모음 클래스가 가지고 있는 변수 = 필드 클래스가 가지고 있는 함수 = 메서드 class Person { String name; void sayHello() { System.out.println("Hello, I'm + this.name); } } 여기서 Person 클래스는 name이라는 변수와 sayHello() 라는 함수를 가지고 있다. 일단 현실의 문제를 푸는 건데, 현실의 문제를 푼다는 건 현실 세계에 있는 대상을, 정보를 어쨌든 코드..
LinkedList(2), HashSet, HashMap, Iterator(1) 컬렉션 프레임워크라고 함은 많은 데이터를 효과적으로 쉽고 편리하게 관리하기 위해서 자바에서 제공해주는 어떤 클래스들의 모음 컬렉션 프레임 워크에서는 데이터를 저장하는 자료구조에 따라 다음과 같은 주요 인터페이스를 정의하고 있음 List 인터페이스 Set 인터페이스 Map 인터페이스 Iterator 데이터 처리하는 방법과 문법에 대해 바로 익힌다. LinkedList(2) import java.util.LinkedList; public class _05_LinkedList { public static void main(String[] args) { // 링크드 리스트 LinkedList list = new LinkedList(..
Generics(2) public class _02_GenericsClass { public static void main(String[] args) { // 다양한 형태의 메서드들을 받아서 하나로 처리하는 걸로 구현을 앞에서 했었지 // 커피 실습할거야.(커피 패키지 생성) // 5개 실습 중에 먼저 주문 번호로 알려주는 CoffeeByNumber부터 생성 CoffeeByNumber12 c1 = new CoffeeByNumber12(33); // 대기번호 c1.ready(); //커피 준비 완료 : 33 출력 // 이제 닉네임으로 불러드리는 고객님이 오셨다고 하자... // CoffeeByNumber12에서는 int로 받았으니까, 닉네임으로 받는 걸 만들어줘야지, 클래스 생성하자. 2. CoffeeBy..
Generics 2 Generics (제네릭스, 타입이 여러개일때), WrapperClass, 컬렉션 프레임 워크 中 ArrayList , LinkedList 컬렉션 프레임워크라고 함은 많은 데이터를 효과적으로 쉽고 편리하게 관리하기 위해서 자바에서 제공해주는 어떤 클래스들의 모음 컬렉션 프레임 워크에서는 데이터를 저장하는 자료구조에 따라 다음과 같은 주요 인터페이스를 정의하고 있음 List 인터페이스 Set 인터페이스 Map 인터페이스 1에서도 ArrayList 와 LinkedList가 있음 Generics 추가 import com.sparta.hbd04.prac01.prac12.coffee.*; import com.sparta.hbd04.prac01.prac12.user.User; import com..

문자열 내 p와 y의 개수 문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 입출력 예 입출력 예 설명 입출력 예 #1 'p'의 개수 2개, 'y'의 개수 2개로 같으므로 true를 return 합니다. 입출력 예 #2 'p'의 개수 ..

평균 구하기 문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 첫 번째 접근 - 배열의 모든 원소의 합을 구해야 할 것 같고, 그것을 배열의 길이로 나눠주면 될 것 같다. 풀이 순서(내가 작성한) // 1. 배열의 모든 원소의 값을 더한다. // 2. 이 합을 배열의 길이(전체 원소의 수)로 나눈다. // 3. 평균값을 도출한다. 반복문에서는 반복되는 것을 다 더한다고 생각하면 됨. 그럼 무엇을 반복하는지를 틀만 생각해보면 되지 arr[0] + arr[1] + arr[2] .... 지금 arr[0] + ... ..