'자바(Pattern&자료구조)/ArrayList 클래스'에 해당되는 글 1건

  1. 2017.03.16 1. Java ArrayList 개념 및 사용방법

[ 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<Membermembers = 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.removeAllElements();  //method 없음.

 num.clear();  //모든 요소 삭제

 

 

 

 

7. 현재크기 얻기

    - size()메소드 이용  

 

  int size = members.size();      //현 vectory 자료 개수 얻기

 int cap  = members.capacity();  //capacity method 없음.

 

 

 

 

 

Posted by 농부지기
,