공부의 정리 및 복습을 위한 기록입니다.
JAVA에는 여러가지 컬렉션 프레임워크가 있다.
그 중 주로 사용하고 편리한 list 인터페이스에 대하여 공부한 내용을 정리 하려고 한다.
자바의 list는 배열과 비슷하게 객체를 인덱스로 관리한다. 배열과의 차이점은 list는 배열과 다르게 저장공간이 동적으로 관리된다.
list에는 객체의 참조값을 저장한다. list에는 Arraylist, Linkedlist 등 여러 클래스가 있다. Array와 Linked는 다음에 더 자세하게 따로 정리하도록 하고, 여러 클래스에서 공통적으로 사용할 수 있는 메서드를 정리해보려 한다.
| 기능 | 메서드 | 설명 |
|---|---|---|
| 객체 추가 | boolean add(E e) | 주어진 객체를 맨 끝에 추가 |
| - | void add(int index, E element) | 주어진 인덱스에 객체를 추가 |
| - | E set(int index, E element) | 주어진 인덱스에 저장된 객체를 주어진 객체로 변경 |
| 객체 검색 | boolean contains(Object o) | 주어진 객체가 저장 되어있는지 확인 |
| - | E get(int index) | 주어진 인덱스에 저장된 객체를 리턴 |
| - | boolean isEmpty() | 컬렉션이 비어있는지 확인 |
| - | int size() | 저장되어 있는 전체 객체수를 리턴 |
| 객체 삭제 | void clear() | 저장된 모든 객체를 삭제 |
| - | E remove(int index) | 주어진 인덱스에 저장된 객체를 삭제 |
| - | boolean remove(Object o) | 주어진 객체를 삭제 |
위와 같은 메서드를 이용하여 list를 관리할 수 있다.
다음은 예제 코드이다.
list.add("홍길동"); // 마지막에 객체 추가
list.add(1, "임꺽정"); //지정된 인덱스에 객체 추가
String n = list.get(1); //인덱스로 객체 검색
list.remove(0); //인덱스로 객체 삭제
list.remove("임꺽정"); //객체 삭제
위와같이 메서드를 사용하여 list에 객체를 추가, 삽입, 삭제 등을 할 수있다.
list는 인덱스로 관리를 하기때문에 인덱스를 매개변수값으로 받아서 사용하는 메서드가 많다.
또한 list는 제너릭을 사용하기 때문에 제너릭에 관해서도 복습 및 정리를 해야할 것 같다.
앞으로는 Arraylist와 Linkedlist의 자료구조와 사용방법 예제등을 더 공부를 해보려한다.
공부하며 정리와 복습을 위해 저장한 기록입니다. 틀린 부분 및 개선할 부분이 있다면 알려주시면 감사하겠습니다 !