일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- html
- 오버라이딩
- 데이터베이스연동
- Git알아보기
- Eclipse
- list
- 기본코드
- java
- object
- emmet
- java기초
- 버튼페이지이동
- cmd
- 컬렉션프레임워크
- 필드
- 이클립스
- Collection
- jdbc
- js
- javascript
- arraylist
- Git이해하기
- 맨땅에 해딩
- 점프 투 파이썬
- MySQL
- java입문
- form
- 파일이동버튼
- CSS
- 배열
- Today
- Total
목록컬렉션프레임워크 (2)
단단히
[LinkedList] LinkedList는 List 구현 클래스이다. 때문에 ArrayList와 비슷한 사용방법을 가지고 있지만 내부 구조는 완전히 다르다. LinkedList는 체인처럼 인접 참조를 링크해서 관리한다. 연결된 앞뒤 링크만 변경되고 나머지 링크는 변경되지 않는다. 마찬가지로 특정 인덱스를 삽입할 때도 앞뒤 링크만 변경되고 나머지 링크는 변경되지 않는다. 위 그림과 같이 앞뒤의 링크만 변경되기 때문에 빈번한 객체 삽입과 삭제가 일어나는 곳에서 좋은 성능을 발휘한다. [ ArrayList VS LinkedList ] - 차이점 - 속도 차이 ArrayList와 LinkedList의 속도 차이는 생각보다 많이 난다. 위의 코드에서는 반복을 100,000으로 지정했기에 나름 결과를 바로 볼 수..
개발을 하다 보면 다수의 객체를 저장하고 필요할 때마다 해당 기능을 수행하는 객체를 불러와 사용하는 경우가 많다. 지금까지 객체를 삭제하고 검색하고 추가를 할 때는 배열을 많이 사용했다. 배열의 장점은 데이터 추가가 쉽고 객체를 삭제하거나 검색하기에도 좋다. 하지만 배열은 구조적인 단점이 있다. 데이터의 길이를 결정하고 사용해서 추가에 한계가 있다. 그렇다고 배열의 길이는 처음부터 길게 잡는 것은 메모리 사용에 효율적이지 못하다. 삭제 또한 배열의 인덱스의 칸이 그대로 비워져 있어 나중에는 배열의 인덱스 칸에 데이터가 존재하는지 확인하는 절차가 필요하다. 연속적인 구조를 가져야 한다.(>> **선형구조 자료) 자주 또 많이 사용하는 배열의 문제점을 보완하기 위해 자료구조를 바탕으로 객체들을 효율적으로 추..