|
re: Vector, Arraylist, list의 차이점을 알고 싶습니다.
자바 책에 보면 자세히 설명되있어서... 저보다 낫겠다고 생각합니다만... 일단 여기에 올리셨으니 아는대로 답변해드립니다. list 나 ArrayList는 요소를 일렬로 유지해서 위치에 의해 접근합니다... 즉 요소들이 순차적으로 유지되고 각 요소의 값은 해당 인덱스를 이용해서 접근합니다. list.get(인덱스번호); 이런식으로 사용하는데요 해당 인덱스에 있는 값을 얻어오는겁니다. 값을 얻어올때는 스택과다르게 원하는 인덱스로 바로 접근 할 수 있습니다. 벡터도 ArrayList와 비슷한데요 벡터나 array 나 둘다 같은 시퀀스 데이터구조에 기반합니다. 시퀀스는 데이터의 접근을 순차적인 인덱스값에 대한 위치로 접근할 수 있습니다... 데이터의 양단에서만 접근이 가능한 스택이나 큐와는 다르죠. 또한 벡터는 위치를 이용한 add, set get remove 를 할 수 있습니다 set 메소드같은경우가 ArrayList와 차이가 납니다.. set메소드는 index로 지정한 위치의 객체를 주어진 객체로 교체 하는 메소드이고요... 둘의 가장큰 차이는 동작하는 속도나 이런걸 분석해본 글을 참고하시는게 좋을 것 같네요. 저같은경우는 일반적인 자바 소스작성시에는 벡터를 사용하고, sql쿼리로 여러건의 데이터를 가져와서 담을때에는 array 를 사용합니다. sql에서 정렬해서 가져온값을 순차적으로 담는게 편하고... 소스코딩량이 미세하게 벡터보다 적다고 생각합니다(주관적인 생각입니다) List 와 ArrayList 는 따로 설명 안하겠습니다... 자바5.0부터는 list보다 ArrayList 를 추천하는걸로 알고있습니다. list같은경우는.. iterator 객체를 병행해서 사용해야 하기때문에(특히 값을 얻어올때) 코드량이 많이지기때문에 귀차니즘이고 깊숙히 공부를 하지 않은 저는 사용하기 편한 ArrayList를 사용하고있씁니다... 저같이 공부하지마시고 깊히 있게 공부하시는걸 추천합니다^^ 마지막 질문은.. 벡터의경우 isEmpty() 메소드가 있습니다. 주의하실점은 비어있을때 true를 반환 합니다. ArrayList나 list는 size() 메소드만으로 충분하기때문에... size() 그대로 쓰심이 좋겠네요 api확인은 안했지만 따로 확인하는 메소드 없던걸로 기억합니다 부족한 부분이거나 잘모르시겠으면 다시한번 쪽지주세요~
|
'OS > Android' 카테고리의 다른 글
안드로이드 가이드 사이트 (0) | 2016.02.05 |
---|---|
Relative layout (0) | 2016.02.05 |
[Android]BaseAdapter에 관한 고찰 (0) | 2016.02.05 |
갤러리를 구현한 main.java 내용. 오류발생 (0) | 2016.02.05 |
이미지버튼 만들기 에러 (0) | 2016.02.05 |