ArrayList 3

자바의 정렬의 모든 것

자바를 사용하면서 구현할 때, 정렬이 많이 헷갈리고 한번 딱 짚고 넘어가야지 정확하게 자신의 머릿속에 들어올 수 있습니다. 여기서, 한 번에 정리할 수 있도록 해드리겠습니다. 대부분, 참조 객체의 정렬에 대해서 설명하겠습니다.참조 객체는 정렬의 기준없이 일반 원시타입이나 래퍼타입 처럼 정렬 .sort()  private static class Time { int hour; int minutes; int seconds; Time (int hour, int minutes, int seconds) { this.hour = hour; this.minutes = minutes; this.seconds = seconds; }}  이렇게 있을 때. pub..

Java 2024.05.19

Java 자료구조 Collection ArrayList [1]

좋은 개발자가 되기 위해서는 기본기가 튼튼해야 된다고 강하게 생각이 든 계기가 있었습니다.그래서 이번에는 자료구조부터 다시 정리하려고 합니다!  이번에는 ArrayList에 대해서 먼저 다뤄보도록 하겠습니다. ArrayList는 배열의 크기가 동적으로 변할 수 있는 자료구조입니다. 실제 스프링 프로젝트에서도 많이 사용하고 알고리즘 풀이에도 많이 사용되는 자료구조입니다. ArrayList는 동적!즉, 일반 배열과는 다르게 정해진 크기보다 초과로 더 커지게 되면 자동으로 배열의 크기를 늘리는 것입니다! 역시, 글보다 코드가 더 와닿을 수 있죠?!! public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, Seri..

카테고리 없음 2024.05.13

Arrays.copyOf가 왜 빠를까

Arrays.copyOf 메소드가 for문을 사용해서 직접 배열을 복사하는 것보다 빠른 이유는 내부적으로 시스템 수준의 최적화를 사용하기 때문입니다. Arrays.copyOf는 자바의 표준 라이브러리인 java.util.Arrays 클래스에 포함되어 있으며, 내부적으로는 시스템 호출인 System.arraycopy를 사용합니다. System.arraycopy는 네이티브 메소드로 구현되어 있으며, 이는 자바가 아닌 C나 C++ 같은 언어로 작성되어 JVM(Java Virtual Machine) 밖에서 직접 실행됩니다.  이러한 네이티브 메소드는 직접 메모리를 조작할 수 있으며, 운영 체제 레벨에서 최적화가 가능하기 때문에 순수 자바 코드인 for문을 사용하는 것보다 더 빠르게 동작할 수 있습니다. 또한, ..

Java 2024.05.10