Day22 - Collection Framework , ArrayList
이번에는 컬렉션 프레임워크에 대해 알아 볼건데요
Collection Framework 컬렉션 프레임워크
컬렉션에는 배열과 비슷하지만, 저장,조회,수정,삭제 를 좀 더 쉽게 할 수 있고, 크기를 유동적으로 관리 할 수 있습니다.
이러한 컬렉션은 interface 를 상속받아서 구체화 한 클래스들을 이용해서 객체들을 저장할 수 있습니다.
컬렉션에는 Set , List , Queue , Map Interface 가 있는데 ... Map은 쫌 단독적인 애라서
일단 Set , List , Queue 만 생각해 봅시다.
Set 은 index가 없고 중복도 불가능 합니다
List 는 index가 있고 중복도 허용 합니다
Queue 는 First in First out(FIFO) 으로 먼저 들어온게 먼저 실행이 됩니다.
그 중에서, 이번에는 ArrayList 에 대해서 알아 볼 겁니다
ArrayList
ArrayList 를 사용하는 방법에 대해서 봅시다
이 전에 배웠던 제네릭을 활용하게 됩니다. ArrayList 의 상위에 List 가 있으니까 이렇게 다형성을 이용해서 생성을 할 수 있습니다.
제네릭을 활용하기 때문에 원하는 타입을 사용해 주면 됩니다 ( 여기서는 String )
- add(String str) -> str 를 추가 합니다
- size() -> ArrayList 에 크기를 반환 합니다 ( 배열의 length와 똑같습니다 )
- toString() -> ArrayList 의 값들을 String으로 반환 합니다
- add(int index, String element) -> index 번째에 element를 추가합니다
- set(int index, String element) -> index 번째에 값을 element로 수정합니다
- get(int index) -> index 번째의 값을 반환합니다
- contains(Object o) -> ArrayList에 o가 포함이 되어 있는지 여부 true, false
- remove(Object o) -> ArrayList에 o가 있다면 삭제
- clear() -> ArrayList 에 있는 모든 값 삭제
이렇게 ArrayList에 대해서 알아 봤는데, 배열보다 편하죠?
중간에 추가하기, 삭제하기 가 가장 편하네요
ArrayList는 크기를 알아서 유동적으로 관리를 해줍니다 ~
배열과는 다르죠?
이제 배열을 잘 안쓰고, 웬만하면 ArrayList 를 사용 하도록 합시다
※ ArrayList 와 Vector 는 똑같은데, ArrayList 가 멀티 쓰레드 환경에서 더 안정적이라고 합니다
고생하셨습니다