Java/JAVA 100 문제 풀이

Java/JAVA 100 문제 풀이

자바 part.5 문제풀이 - 컬렉션 프레임워크에서 ConcurrentModificationException 피하는 방법: Iterator 활용하기

Iterator의 필요성 컬렉션 프레임워크를 사용할 때, 컬렉션의 요소를 반복문 안에서 삭제하면서 순회하려고 하면 종종 "java.util.ConcurrentModificationException"이라는 오류 메시지를 만나게된다. 이 오류는 컬렉션의 구조가 반복 중에 변경되었음을 나타내며, 이로 인해 반복자가 더이상 유효하지 않게 되어 발생한다. Iterator를 사용하여 이런 문제를 피할 수 있다. Iterator는 컬렉션을 안전하게 순회할 수 있는 방법을 제공하며, "remove()" 메서드를 통해 현재 요소를 안전하게 제거할 수 있다. 따라서 컬렉션을 순회하면서 요소를 삭제해야 하는 경우에는 Iterator를 사용하는 것이 좋다. 예제 import java.util.ArrayList; import ..

Java/JAVA 100 문제 풀이

자바 part.5 문제풀이 - Iterator 활용한 ArrayList 요소 접근과 삭제

예제 import java.util.ArrayList; import java.util.Iterator; public class Collection_FrameworkIterator01 { public static void main(String[] args) { //[1] : 객체 생성 ArrayList list = new ArrayList(); //[2] : 요소 추가 -> add() list.add("Allgator"); list.add("Hippo"); list.add("Ostrich"); list.add("Donkey"); //[3] : Iterator(반복자) 객체 생성 -> 객체 생성 과정도 중요! // System.out.println(hasNext()); // Error //Collection..

Java/JAVA 100 문제 풀이

자바 part.5 문제풀이 - Iterator 이해와 활용 방법

1. Iterator 란? iterator는 자바에서 제공하는 컬렉션 프레임워크의 요소를 순화하는 방법을 표준화한 인터페이스이다. 컬렉션에 저장된 요소에 순차적으로 접근하는데 사용되며, 인덱스를 사용하지 않고도 모든 요소를 순회할 수 있다. 이는 컬렉션에 독립적으로 동작하기 때문에, 다양한 유형의 컬렉션에 대해 동일한 방식으로 요소를 순회할 수 있다. 2. Iterator의 중요 메서드 Iterator 인터페이스는 주로 세 가지 메서드를 사용한다. hasNext() : 이 메서드는 컬렉션에 다음 요소가 있으면 true를 반환하고, 없으면 flase를 반환한다. 이 메서드는 보통 "next()" 메서드를 호출하기 전에 사용하여 안전하게 요소를 가져올 수 있도록 한다. next() : 이 메서드는 컬렉션의 ..

Java/JAVA 100 문제 풀이

자바 part.5 문제풀이 - ArrayList를 활용한 2차원 배열 데이터 처리

예제 import java.util.ArrayList; public class Collection_FrameworkArrayList03 { public static void main(String[] args) { //[1] : 객체생성 ArrayList arr = new ArrayList(); //[2] : 요소 추가 -> add() arr.add(new Integer[] {11, 12, 13, 14}); arr.add(new Integer[] {21, 22, 23, 24}); arr.add(new Integer[] {31, 32, 33, 34}); //[3] : 요소 출력 System.out.println("인덱스 출력"); for(int i = 0; i < arr.size(); i++) { Syste..

Java/JAVA 100 문제 풀이

자바 part.5 문제풀이 - ArrayList를 활용한 데이터 처리

예제 import java.util.ArrayList; public class Collection_FrameworkArrayList02 { public static void main(String[] args) { //[0] : ArrayList 객체생성 -> 제네릭을 사용 ArrayList ar = new ArrayList(); //[1] : 추가 -> add() System.out.println("--- ar.get(2) 출력 ---"); ar.add("홍길동"); ar.add("이순신"); ar.add("육룡이"); ar.add("을지문덕"); ar.add("김유신"); System.out.println(ar.get(2)); //육룡이 String str = ar.get(0); //형변환 없이 바로 ..

Java/JAVA 100 문제 풀이

자바 part.5 문제풀이 - ArrayList : 동적 데이터 구조의 이해와 활용

1. ArrayList란? ArrayList는 List 인터페이스를 구현한 클래스로, 가변 크기의 배열이다. 일반 배열과 다르게 Array는 데이터를 동적으로 추가하거나 삭제할 수 있다. 또 한 인덱스가 있어 저장 순서가 유지되며, 데이터 중복이 허용된다. 제네릭 문법을 사용할 수 있으며, 사용하지 않는 경우 내부적으로 Object 타입으로 처리된다. ArrayList에서 제네릭을 사용하면, ArrayList에 특정 타입의 객체만 추가할 수 있게되어, 불필요한 타입 변환을 방지할 수 있다. 예제 import java.util.ArrayList; //컬렉션(Collection) 프레임워크의 ArrayList를 사용하는 예제 코드를 구현해보시오. //이 문제는 ArrayList에 대한 개념과 기본적인 사용법..

Java/JAVA 100 문제 풀이

자바 part.5 문제풀이 - 컬렉션 프레임워크란 무엇인가?

1. 컬렉션 프레임워크(Collection Framework)란? 컬렉션 프레임워크는 프로그램 내에서 데이터를 관리하기 위한 표준화된 방법을 제공하는 Java API의 일부이다. 이는 다양한 데이터 구조를 표현하는 클래스를 포함하며, 이들은 모두 Collection과 Map 인터페이스로부터 파생되었다. Collection은 개별 요소들의 집합을 다루는 데에 중점을 둔다면, Map은 key와 value 쌍을 관리하는데 초점을 맞추고 있다. 이 둘은 서로 동등한 수준에서 다루어지며, 컬렉션 프레임워크는 프로그래머에게 이 두 종류의 데이터 구조를 효율적이고 편리하게 다룰 수 있는 도구를 제공한다. 2. Collection 인터페이스의 하위 인터페이스 - List, Set Colletion 인터페이스는 두 가지..

Java/JAVA 100 문제 풀이

자바 part.5 문제풀이 - 제네릭(Generic) 개념 활용

예제 class Sample{ //Field private T obj; //Constructor Sample(T x){ this.obj = x; } //Method T getObj() { return obj; } void printlnfo() { System.out.println(obj.getClass().getName()); } } public class Collection_Generic03 { public static void main(String[] args) { //[1] : 객체 생성 - String Sample s1 = new Sample("안녕하세요"); s1.printlnfo(); System.out.println(s1.getObj()); //[2] : 객체 생성 - Integer Samp..

진이최고다
'Java/JAVA 100 문제 풀이' 카테고리의 글 목록