class

Problem Solving

[Java] Requirements Q126: 직원 출결 조회

package com.test.question; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.Scanner; public class Q126 { public static final String FILE = "C:\\Class\\code\\java\\file\\파일_입출력_문제\\출결.dat"; public static void main(String[] args) { try { ArrayList employeeList = readEmployeeData(FILE); // 직원 데이터 읽어오기 printAttendanceR..

Programming/Java

[Java] Iterator Interface

💡Iterator Interface Iterator 인터페이스는 List 계열과 Set계열 모두 지원하는 탐색 도구이다. Iterator는 어떤 집합을 탐색하는 데 사용하는 기본적인 도구 중에 하나로, Set 안에 들어있는 데이터를 하나씩 접근할 수 있게 한다. hasNext(), next() 메소드 Iterator iter = lotto2.iterator(); System.out.println(iter.hasNext()); // true System.out.println(iter.next()); // 26 hasNext() 메소드는 요소의 존재 유무를 리턴한다. 이때 반환할 값이 있으면 true, 없으면 false를 리턴한다. 그리고 next() 메소드는 Iterator가 가리키는 요소를 리턴하는 역할..

Programming/Java

[Java] 람다식: 함수형 인터페이스 (Functional Interface)

💡함수형 인터페이스 함수형 인터페이스(Functional Interface)는람다 표현식을 사용하기 위한 자격을 제공하는 인터페이스로, 여기서 '함수형'이란, 이 인터페이스가 하나의 추상 메서드만을 가져야 한다는 것을 의미한다. 이 추상 메서드는 람다 표현식의 구현부가 되며 실제로 수행되는 동작을 정의한다. 함수형 인터페이스는 표준 API 함수형 인터페이스와 사용자 정의 함수형 인터페이스로 구분할 수 있다. 표준 API 함수형 인터페이스는 JDK에서 제공하는 것이며, 사용자 정의 함수형 인터페이스는 개발자가 선언한 것이다. 표준 API 함수형 인터페이스를 보다 많이 사용한다. 💡표준 API 함수형 인터페이스 표준 API 함수형 인터페이스는 자바에서 제공하는 함수형 인터페이스로, 람다 표현식을 사용할 때 ..

Programming/Java

[Java] 람다식 (Lambda Expression)

💡람다식 람다식 (Lambda Expression)은 기존에 하던 작업을 편리하고 간결하게 만들어주는 기술로, 함수형 프로그래밍 개념을 자바에 도입한 것이다. 주로 컬렉션 조작을 위해 스트림(Stream)과 함께 사용되며, 람다식을 사용하면 코드의 양을 줄이고 작업을 더 효율적으로 처리할 수 있다. 람다식의 형식 인터페이스 변수 = (매개변수) -> { // 실행 코드 }; 람다식의 구성 요소 매개변수(Parameter): 메서드의 매개변수와 동일한 역할을 한다. 화살표(->): 코드 블럭을 호출하는 역할을 한다. 실행 코드(Block): 메소드의 본문과 같은 역할을 하며, 중괄호 내에 실제 작업 내용을 작성한다. MyInterface를 구현한 객체를 살펴보며 람다식을 이해해 보도록 하자. // 실명 클..

Programming/Java

[Java] Map Interface: TreeMap Class

💡TreeMap Class HashMap은 정렬이 안 되는 반면, TreeMap은 정렬이 된다는 차이가 있다. Tree 구조는 이진 탐색 트리로 자동 정렬이 되며, Map은 키 + 값의 연관 배열로 배열을 사용하는 것을 의미한다. TreeMap 클래스의 활용 TreeMap 선언하기 TreeMap map = new TreeMap(); 요소 추가하기 map.put("white", "흰색"); map.put("black", "검정"); map.put("red", "빨강"); map.put("yellow", "노랑"); map.put("blue", "파랑"); map.put("green", "초록"); map.put("orange", "주황"); 요소 확인하기 System.out.println(map.size(..

Programming/Java

[Java] Set Interface: TreeSet Class

💡TreeSet Class Tree 구조는 이진 트리 구조(이진 탐색 트리, BinarySearch Tree)를 의미하며, Set은 순서가 없고 중복값을 가지지 않음을 의미한다. 그런데 Tree 구조는 정렬이 되어 있다는 특징이 있다. TreeSet Class는 값을 비교해서 작으면 왼쪽에 방을 만들고, 크면 오른쪽에 방을 만든다. 그래서 들어가는 숫자의 순서에 따라 트리 구조가 이쁘게 만들어질 수도, 안 이쁘게 만들어질 수도 있다. Hash 알고리즘은 무언가를 찾을 때 굉장히 빠르다. 그래서 HahsSet이 보편적으로 사용하는 Set이지만, 순서가 정렬된 Set이 필요할 때 Tree 구조를 사용한다. TreeSet 클래스의 활용 TreeSet 배열 생성 HashSet set1 = new HashSet(..

Programming/Java

[Java] List Interface: LinkedList Class

💡LinkedList Class Collection(I) > List(I) > ArrayList(C), LinkdedList(C) ArrayList vs LinkedList ArrayList와 LinkedList는 겉으로 보기에 사용법은 같지만, 내부 구조가 완전히 다르다. 이때 내부 구조가 다르다는 말은 사용 목적이 다르다는 의미이다. LinkedList Class 종류 1. LinkedList 일방통행 구조이므로 앞으로만 갈 수 있다. 첫 번째 값을 확인할 수 있으면서 두 번째 값의 주소도 알아낼 수 있다는 특징이 있다. 2. Double LinkedList 양방향 통행이 가능한 구조로, 앞 뒤로 갈 수 있다. 3. Double Circle LinkedList 양방향 통행이 가능하며, 처음과 끝을 연..

Programming/Java

[Java] 사용자 정의 정렬: Anonymous Class, sort(), compareTo(), compareToIgnoreCase()

💡익명클래스 class MyComparator implements Comparator{ @Override public int compare(Integer o1, Integer o2) { if (o1 > o2) { return 1; } else if (o1 양수 반환 > 1을 반환하는 경우가 많음 b. o2가 더 크면 > 음수 반환 > -1 c. 같으면 > 0 반환 2. 내림차순 a. o1이 더 크면 > 음수..

Isaac-Christian
'class' 태그의 글 목록