Programming/Java
-
java.util.ConcurrentModificationExceptionProgramming/Java 2022. 5. 15. 23:25
오늘은 ConcurrentModificationException에 대해서 알아보려고 한다. 이 Exception은 대부분 Collection 객체를 중간에 건들일 때 (ex, remove)발생한다. Iterator로 반복을 하고 있거나 할 때 Collection을 수정하는 경우 발생한다. 나의 경우에는 순환 함수를 호출할 때 매개함수로 쓰인 list를 수정하자 해당 exception이 발생했다. 왜 발생시킬까..? 그 이유는, 반복문에서 중간에 리스트에 값을 더하거나 삭제하거나 하면 반복문이 영원히 끝나지 않게 될 수도 있기 때문이다. 이런걸 보면 자바는 참 자유도가 낮다... 해결 방법? 나는 그냥 내가 직접 list를 하나 카피해서 거기에 작업을 했는데 알고보니, Java 자체에서 CopyOnWrit..
-
Java :: ArrayList vs Linked ListProgramming/Java 2022. 4. 17. 00:29
ArrayList 📌ArrayList란? List Interface를 상속받은 클래스로, 크기가 가변적인 선형 리스트 배열과 유사점 : 순차리스트 , 인덱스로 내부 객체 관리 배열과 차이점 : 객체들이 추가되어 용량이 넘친다면 자동으로 부족한 용량만큼 capacity를 늘려줌 📌ArrayList 선언 ArrayList list = new ArrayList() ; //매번 캐스팅을 새로 해주어야 해서 추천하지 않음 ArrayList list = new ArrayList(); //이런식으로 Generic을 사용하는 것을 권장 ArrayList list = new ArrayList(10); //초기 용량(Capacity) 설정 Generic을 사용하여 선언하는 것이 권장됨 왜냐면, ArrayList list ..