[Java] 자바에서 ConcurrentModificationException이 발생하는 이유와 해결 방법 | Map.keySet()
·
Java
ConcurrentModificationException 발생이유 Java에서 ConcurrentModificationException은 하나 이상의 스레드가 동시에 컬렉션을 수정하려고 할 때 발생하는 예외입니다. 이 예외가 발생하면 프로그램이 예기치 않게 종료될 수 있습니다. 따라서 이 예외를 발생시키는 원인과 이를 해결하기 위한 방법을 이해하는 것은 중요합니다 쉽게 설명해서, for(String key : map.keySet()){ map.put(key, 0) } 위 코드에서 map.keySet() 함수를 사용하여 key를 하나씩 참조하는 작업을 수행하는 스레드(Thread)가 있습니다. 이 스레드는 현재 map을 순회하고 있습니다. 이 동안, 다른 스레드가 map.put(key, value)와 같은..
[Java] Collection | 자바 List | ArrayList | 다양한 메소드
·
Java
List 란? List는 자바에서 제공하는 데이터 구조 중 하나이며, 여러 개의 데이터를 저장할 수 있는 자료형입니다. List는 배열과 비슷하게 인덱스를 사용하여 데이터에 접근할 수 있지만, 배열과 달리 크기가 가변적이므로 데이터의 추가, 삭제 등이 용이합니다 크기가 가변적이라는 것은 리스트(List)에 저장된 데이터의 개수가 변할 수 있다는 뜻입니다. 즉, 데이터를 추가하거나 삭제할 때마다 리스트의 크기가 동적으로 변화할 수 있습니다. 이와는 달리 배열(Array)은 미리 크기를 지정하고 데이터를 저장하는 것이기 때문에, 크기를 변경할 수 없습니다 List는 인터페이스로 정의되어 있고, ArrayList, LinkedList 등 다양한 구현체가 존재합니다. ArrayList는 내부적으로 배열을 사용하..
[Java] 자바 프로그래밍에서 흔히 발생하는 에러와 해결 방법!
·
Java
Java 에러란? 자바 프로그래밍에서 에러는 불가피한 존재이며, 이를 해결하는 것은 중요한 프로그래밍 능력 중 하나입니다.이번 글에서는 자바에서 흔히 발생하는 에러에 대해 다루고, 이를 해결하는 방법에 대해 알아보겠습니다 Java에서 발생할 수 있는 에러는 크게 3가지로 나눌 수 있습니다 컴파일 에러(Compile-time Error): 코드를 컴파일하는 동안 발생하는 에러로, 문법적인 오류나 타입 불일치 등 코드를 컴파일할 수 없는 경우 발생합니다. 이러한 에러는 코드를 컴파일하지 않고 수정해야 합니다. 런타임 에러(Runtime Error): 코드를 실행하는 동안 발생하는 에러로, 프로그램이 실행되는 과정에서 예외가 발생할 때 발생합니다. 런타임 에러는 코드를 수정하여 예외를 처리할 수 있습니다. 논..
[Java] 이클립스에서 JUnit 사용법: 간편하게 test case 작성하기
·
Java
Junit이란 이클립스는 대표적인 자바 개발 툴 중 하나이며, JUnit은 자바 개발에서 단위 테스트를 위한 대표적인 프레임워크입니다. 이번 글에서는 이클립스에서 JUnit을 설정하는 방법을 알아보겠습니다 JUnit 라이브러리 추가 1. 프로젝트를 마우스 오른쪽 버튼으로 클릭 후, Properties를 선택합니다 2. Java Build Path > Libraries > Add Library > JUnit을 선택합니다 3. JUnit 라이브러리의 버전을 선택합니다 4. Finish 버튼을 눌러 추가합니다 테스트 케이스 작성 1. 자바 클래스에서 마우스 오른쪽 버튼으로 클릭한 후, New > JUnit Test Case를 선택합니다 2. JUnit 테스트 케이스를 생성할 패키지와 클래스 이름을 입력합니다 ..