Java 275

[ 25일차 137~144 ] 수업 정리 - 자바

📌 주요 학습 내용오늘은 자바의 컬렉션 프레임워크 중 List, Set, Map의 기본 사용법과 특징, 그리고 동기화 처리 여부와 관련된 구현 클래스들을 학습했습니다.📌 예제 코드1. ArrayList를 이용한 객체 저장 및 삭제List list = new ArrayList();for (int i = 1; i 2. Vector를 활용한 동기화 처리List list = new Vector();Thread t1 = new Thread(() -> { for (int i = 1; i 3. LinkedList와 ArrayList의 성능 비교List list1 = new ArrayList();List list2 = new LinkedList();for(int i = 0; i 4. HashSet을 이용한 중..

국비 2025.05.20

144. 멀티스레드 환경에서도 안전한 Map – Hashtable 사용법

Hashtable은 자바에서 가장 오래된 Map 구현체 중 하나로,멀티스레드 환경에서도 데이터를 안전하게 저장할 수 있도록 동기화(Synchronized)가 적용되어 있습니다.이번 예제는 두 개의 스레드가 동시에 데이터를 저장해도 데이터 손실 없이 정확히 저장되는 구조를 보여줍니다.📌 예제 코드import java.util.Hashtable;import java.util.Map;public class HashtableExample { public static void main(String[] args) { Map map = new Hashtable(); Thread threadA = new Thread() { public void run() { for (int i = 1; i 💻 실행..

Java/자바 정리 2025.05.20

143. 키-값 쌍을 저장하는 HashMap – 중복 처리와 순회 방법

자바의 HashMap은 키와 값을 하나의 쌍(Entry)으로 저장하는 대표적인 맵(Map) 컬렉션입니다.키는 중복을 허용하지 않으며, 값은 중복되어도 상관없습니다.이번 예제에서는 HashMap의 기본 사용법과, 저장된 데이터를 키로 순회하는 방법과Entry 객체로 순회하는 방법을 모두 확인해보겠습니다.📌 예제 코드import java.util.*;import java.util.Map.Entry;public class HashMapExample { public static void main(String[] args) { Map map = new HashMap(); map.put("신용권", 85); map.put("홍길동", 90); map.put("동장군", 80); map.put("홍길동",..

Java/자바 정리 2025.05.20

142. HashSet에서 요소를 안전하게 제거하는 방법 – Iterator 활용

HashSet은 중복을 허용하지 않는 집합(Set) 구조로,순서 없이 데이터를 저장하며, Iterator를 통해 순차 접근할 수 있습니다.특히, 반복 중에 요소를 삭제할 때는 반드시 Iterator.remove()를 사용해야 안전하게 처리할 수 있습니다.이번 예제에서는 HashSet에 저장된 문자열을 반복하며 특정 요소를 제거하는 방법을 확인합니다.📌 예제 코드import java.util.HashSet;import java.util.Iterator;import java.util.Set;public class HashSetExample { public static void main(String[] args) { Set set = new HashSet(); set.add("Java"); set...

Java/자바 정리 2025.05.20

141. 사용자 정의 객체의 중복 비교 – hashCode()와 equals() 재정의

HashSet은 중복된 객체를 저장하지 않지만,사용자 정의 클래스를 저장할 때는 equals()와 hashCode()를 제대로 재정의하지 않으면내용이 같더라도 서로 다른 객체로 인식되어 중복 저장될 수 있습니다.이번 예제에서는 Member 클래스를 통해 중복 판단 기준을 명확히 정의해봅니다.📦 Member.javapackage ch15.sec03;public class Member { public String name; public int age; public Member(String name, int age) { this.name = name; this.age = age; } public int hashCode() { return name.hashCode() + age; } public b..

Java/자바 정리 2025.05.20

140. 중복을 허용하지 않는 Set – HashSet의 특징

컬렉션 프레임워크 중 Set 계열은 중복된 데이터를 저장하지 않는 특징이 있습니다.그중 HashSet은 가장 기본적인 구현체로, 객체를 저장할 때 순서를 고려하지 않으며, 중복은 자동으로 제거합니다.이번 예제는 HashSet에 중복된 문자열을 추가했을 때, 실제로 저장된 객체 수가 어떻게 되는지를 확인합니다.📌 예제 코드import java.util.HashSet;import java.util.Set;public class HashSetExample { public static void main(String[] args) { Set set = new HashSet(); set.add("Java"); set.add("JDBC"); set.add("JSP"); set.add("Java"); ..

Java/자바 정리 2025.05.20

139. ArrayList vs LinkedList 성능 비교

자바에서 리스트(List)를 구현하는 대표적인 클래스는 ArrayList와 LinkedList입니다.둘 다 List 인터페이스를 구현하지만, 내부 구조가 달라 삽입·삭제·검색 속도에 차이가 있습니다.이번 예제에서는 두 리스트의 앞쪽에 데이터를 삽입할 때 걸리는 시간을 비교해보겠습니다.📌 예제 코드import java.util.ArrayList;import java.util.LinkedList;import java.util.List;public class LinkedListExample { public static void main(String[] args) { List list1 = new ArrayList(); List list2 = new LinkedList(); long startTime, ..

Java/자바 정리 2025.05.20

138. Vector로 멀티스레드 환경에서도 안전하게 저장하기

멀티스레드 환경에서 ArrayList와 같은 컬렉션을 사용할 경우,여러 스레드가 동시에 접근하면 데이터 충돌이나 예외가 발생할 수 있습니다.이럴 때는 동기화(Synchronized)가 적용된 Vector 컬렉션을 사용하면 안전하게 처리할 수 있습니다.이번 예제는 두 개의 스레드가 동시에 데이터를 저장할 때 Vector가 어떻게 안정성을 보장하는지 보여줍니다.📦 Board.javapackage ch15.sec02;public class Board { private String subject, content, writer; public Board(String subject, String content, String writer) { setSubject(subject); setContent(conten..

Java/자바 정리 2025.05.20

137. ArrayList로 객체 관리하기 – Board 클래스 예제

ArrayList는 자바에서 가장 많이 사용되는 컬렉션 중 하나로,객체를 동적으로 저장하고 삭제할 수 있는 가변 배열 자료구조입니다.이번 예제에서는 Board라는 사용자 정의 클래스를 ArrayList에 저장하고,출력 및 삭제하는 방법을 실습해보겠습니다.📦 Board.javapackage ch15.sec02;public class Board { private String subject, content, writer; public Board(String subject, String content, String writer) { setSubject(subject); setContent(content); setWriter(writer); } public String getSubject() { ret..

Java/자바 정리 2025.05.20

[ 24일차 129~136 ] 수업 정리 - 자바

💡 오늘의 핵심 주제멀티스레드 제어와 동기화, 스레드 안전 종료, wait/notify 활용📌 주요 학습 내용📦 ThreadNameExample.javapublic class ThreadNameExample { public static void main(String[] args) { Thread mainThread = Thread.currentThread(); System.out.println(mainThread.getName()); for (int i = 0; i 💬 설명Thread.currentThread().getName()으로 현재 실행 중인 스레드 이름 확인 가능setName()으로 사용자 정의 스레드 이름 설정 가능📦 SleepExample.javapublic class Slee..

국비 2025.05.19
반응형