[ 1. Java ArrayList 개념 및 사용방법 ]
1. 정의
- ArrayList<E>는 가변 크기의 배열을 구현한 컬렉션 클래스 이다.
- Java 언어에서는 순차 리스트를 구현한 ArrayList 클래스를 제공하고 있다.
- ArrayList는 내부 저장소가 배열처럼 연속적인 메모리 형태이다.
그리고 저장소의 크기를 변화할 수 있다는 특징이 있다.
이러한 점은 Vector 클래스와 차이가 없다.
- 실제 Vector 클래스와 ArrayList 클래스는 거의 모든 부분에서 비슷하다.
2. ArrayList와 Vector 차이점
- ArrayList는 Thread간에 동기화를 지원하지 않기 때문에
다수의 Thread가 동시에 ArrayList에 요소를 삽입하거나 삭제할 때 총돌의 소지가 있다.
- Vector는 동기화를 지원한다.
- ArrayList의 속도가 Vector보다 다소 빠르다고 하지만 큰 의미를 갖는 정도는 아니다.
** ArrayList와 Vectory 선언 및 메서드는 거의 동일하다.
3. 선언
|
ArrayList tmp = new ArrayList(); ArrayList<> members = new ArrayList<>(); ArrayList<Member> members = new ArrayList<Member>(); ArrayList<Integer> num = new ArrayList<>(); ArrayList<Integer> num2 = new ArrayList<Integer>(); ArrayList<String> str = new ArrayList<String>(); ArrayList<String> str2 = new ArrayList<String>(10); //초기 용량 지정 |
4. 요소 추가 (Collection인터페이스 메소드)
- add()메소드 이용
|
Member member = new Member(num,name); members.add(member); members.add(new Member(10, "농부")); members.add(new Member(11, "어부")); |
|
num.add(3); num.add(null); num.add(1, -10); //요수 중간에 삽입 |
5. 객체 크기 및 특정요소 값 얻기
- size()메소드 이용
|
Member Find(int num){ int cnt = members.size(); for(Member member : members){ if(member.getNum() == num){ return member; } } return null; } |
|
for(Integer one : num){ System.out.println("Integer value=" + one); } |
|
Integer obj = num.get(1); int i = obj.intValue(); |
6. 특정 .요소 삭제
- remove()메소드 이용
- clear()메소드 이용
|
Member member = Find(num); if(member == null){ System.out.println("존재하지 않습니다."); return; } members.remove(member); |
|
num.remove(1); //index 1 요소 삭제 num.clear(); //모든 요소 삭제 |
7. 현재크기 얻기
- size()메소드 이용
|
int size = members.size(); //현 vectory 자료 개수 얻기 |