size 6의 ArrayList 에서 30을 remove 할경우 이런식으로 처리되는게 맞나요?
ArrayList 가장 뒤에 있는 값을 지울경우에 어레이 카피는 일어나지 않는줄 알았는데.. 자바 코드를 분석해보니 이런식으로 작동하는것으로 추측되는데;;
그렇다면 ArrayList의 사이즈를 크게 해두고 앞부분에서 계속 추가 삭제가 일어난다고 한다면 굉장히 비효율적일것 같네요.
그래서 디폴트 값이 10으로 잡혀있구나..
스택을 하나 만들어보려고 했는데 ArrayList로 만드니까 너무 간단하게 끝나버리더라구요.
ArrayList를 이용해서 스택을 만들경우에 성능적으로 어떨까요?
제가 궁금한 부분은..
1. 스택이면 후입선출 이기 때문에 언제나 ArrayList의 마지막 값이 삭제되기때문에 ArrayList를 사용하여 추가 삭제 작업이 많이 일어난다 하여도 성능적 으로 떨어지진 않을것이라 판단했는데 맞을까요?
2. 반대로 큐를 만드려고 한다면, 삭제되는 데이터가 언제나 가장 앞에 존재하므로 ArrayList보다는 LinkedList로 만드려고 하는데 어떻게 생각하시나요?