본문 바로가기

Java22

Java - ArrayList, LinkedList, Vector 차이 지난 포스팅에서 Array는 읽기는 좋지만 추가, 삭제 사이즈를 변경하는 연산이 상대적으로 비용이 비싸다는 것을 확인했다. 이런 단점을 보완하기 위해서 자바에서는 ArrayList, Vector, LinkedList라는 자료구조를 제공한다. 3개의 자료구조는 모두 List 인터페이스를 implement한 구현체이다. 겉으로 보기에는 List가 모두 같아보인다. 또 주로 사용하는 데이터구조는 ArrayList가 아닐까 싶다. 실무에서 사용하는 비중으로는 ArrayList 95%, LinkedList 5% 정도라고 생각된다. 이제 각각의 자료 구조의 특징에 대해서 알아보도록하자 ArrayList 가장 많이 쓰이는 자료구조이다. ArrayList는 이름에서도 알 수 있듯이 Array와 List의 장점만을 짬.. 2022. 7. 28.
Java - Array vs List Array와 List는 모두 자바에서 기본적으로 제공하는 자료구조이다. Array와 List를 단순 단어로만 봤을 때는 같은 뜻의 단어인 것 처럼 보인다. 그러나 두 개의 자료구조는 각각 특성이 있어서 맞는 상황에 사용한다면 좀 더 좋은 성능을 낼 수 있다. Array와 List는 모두 장단점이 있는데 먼저 Array의 장단점에 대해서 알아보도록하자. Array 장점 1. 상대적으로 구현하기가 쉽다. 2. index를 가지고 있어서 데이터를 조회하기 쉽고 성능이 빠르다. 3. 순차접근 (for loop)?의 경우에 연속적인 메모리를 할당받기 때문에 List보다 빠르다 4. 논리적 메모리 = 물리적 메모리이기 때문에 추가적인 메모리 할당이 필요 없다. Array 단점 1. 크기를 변경할 수 없다. 크기를 .. 2022. 7. 27.