티스토리 뷰

Java/java.util

ArrayList

나야 2008. 3. 18. 23:06
java.util.ArrayList

 평소에 많이 사용했었는데, 소스를 보는 것을 처음인 것 같습니다.
윈도우에서 이클립스를 사용할 때 소스를 보려면  jdk폴더에 들어 있는
src.zip 파일을 연결해줘야 하는데 이 방법을 구글에서 검색해보기 귀찮아서
잊은 척하고 있다가 어제 프로젝트 데모가 끝나서 여유로운 마음으로
소스를 연결해줬습니다.

ArrayList  코드는 생각보다 간단하더군요.
그리고 정말 ArrayList가 들어 있습니다. ㅡㅡㅋ 당연한건가.

Josh Bloch, Neal Gafter가 author로 되어 있네요.

AbstractList<E>를 확장하고, List<E>, RandomAccess, Cloneable, java.io.Serializable을 구현하고 있습니다.

Serializable을 구현하기 위한 serialVersionUID가 설정되어 있고,
Object[] elementData 가 선언되어 있습니다.
이 elementData가 transient 로 선언되어 있는데, 지금까지 transient 가 뭔지도 모르고 있었다니.
자 검색검색
직렬화를 원하지 않는 변수에 선언한다고 하는 군요.
근데 왜 elementData에 transient가 선언되어 있는거지 ㅡㅡㅋ
직렬화를 잘 모르므로 패스

그리고
private int size가 선언되어 있고,

생성자들이 있습니다.
생성자들은 세 개가 선언되어 있는데,
우선 초기 저장 공간의 크기를 정해주는
public ArrayList(int initialCapacity)

근데 super();를 하고 있네요
음. 잠시 AbstractList를 보고 와야 겠네요.

AbstractList에서는 protected로 생성자가 하나 있고...
보니깐 ArrayList보다 AbstractList가 더 복잡하네요.

AbstractList가 200줄 정도 소스도 길고.
AbstractList부터 고고씽.






댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함