목록배열 (2)
Welcome! Everything is fine.
이번 주는 기술 면접에서 많이 물어본다는 Array와 LinkedList의 특징과 차이점에 대해 정리해보았다. 같은 선형 자료구조이면서 정적 자료구조(Array)와 동적 자료구조(LinkedList)로 나뉘어서 자주 나오는 질문이 아닐까 싶다! Array 배열(Array)은 메모리 상에 원소를 연속하게 배치한 자료구조이다. 특징을 간단히 정리하자면 다음과 같다. 인덱스를 사용해 값에 바로 접근 가능하다. 배열의 크기는 한 번 선언하면 줄이거나 늘릴수 없다. (따라서 배열을 확장하기 위해서는 기존 배열의 내용을 새로운 배열에 복사하는 식으로 확장해야한다.) 새로운 값을 삽입하거나 삭제하기가 비효적이고 어렵다. (임의의 위치에 있는 원소를 추가/제거하는 시간 복잡도 O(N)) 데이터를 조회하는 연산이 많을 ..
자바에서 배열을 복사하기 위한 방법은 다음과 같다. 메서드를 사용하는 것이 for문보다 더 빠르다고 하니 메서드를 배워보자! for문 Arrays.copyOf() Arrays.copyOfRange() Arrays.copyOf(원본_배열, 복사할_길이) Arrays.copyOf()는 배열의 길이를 지정해 복사할 수 있는 메서드이다. 배열의 처음부터 length 길이만큼의 요소를 복사해 새로운 배열을 생성한다. int[] array = {1, 2, 3, 4, 5}; int[] copy = Arrays.copyOf(array, 3); // {1, 2, 3} Arrays.copyOfRange(원본_배열, 시작_인덱스, 끝_인덱스) Arrays.copyOfRange()는 시작 인덱스와 끝 인덱스를 정해 배열의 일..