Free Lines Arrow
본문 바로가기
Language/Java

[Java] ArrayList

by skahn1215 2021. 5. 10.
728x90
반응형

ArrayList

컬렉션 클래스. ArrayList를 먼저 사용해서 정리해 보지만.

가장중요한 컬렉션의 개념과 구조를 다음에 정리해야겠다.

왜냐? 기초가 중요하기 떄문이다.

어디서 파생되었고 원리를 알아야 잘 쓸수 있기 때문이다.

 

ArrayList란?

컬렉션 프레임웍 중에 많이 사용되는 컬렉션 클래스.

 

특징

  • List 인터페이스를 구현
  • 데이터의 저장순서가 유지된다.
  • 중복을 허용한다.

중요점

  • vector 보다 ArrayList를 사용하는 것을 권장한다.
  • vector는 호환성 때문에 남겨 두었다고 한다.
  • 이래서 기초와 API를 보는것이 중요하다.

초기화 및 생성하기

// 기본으로 10 크기로 생성 타입은 String 생성자 생략가능
ArrayList<String> stringList1 = new ArrayList<>(); 

// String 타입 지정, 생성시 타입 지정
ArayList<String> stringList2 = new ArrayList<String>(); 

// 크기지정
ArrayList<String> stringList3 = new ArrayList<>(10);

// 기존에 선언한 list 를 복사하여 생성가능
ArrayList<String> stringList4 = new ArrayList<>(stringList1);

 

 

ArrayList에 추가하기

// 마지막에 추가
stringList1.add("A");
stringList1.add("B");

// index를 지정하여 추가
stringList1.add(1,"C");

 

 

ArrayList에 존재하는지 확인

// contains
if (stringList1.contains("A")) {
    System.out.println("Find");
}

 

 

Index 조회하기

//find index
int index = stringList1.lastIndexOf("B");
System.out.println(index);

 

Iterator 로 조회하기

//iterator
ListIterator<String> stringIter = stringList1.listIterator();
while (stringIter.hasNext()){
    System.out.println(stringIter.next());
}

 

 

삭제하기

//remove 특정 객체 삭제
stringList1.remove("A");

// 반복하면서 삭제
for(int i = 0; i < stringList1.size(); i++) {
    stringList1.remove(i);
}


// clear 함수 호출하여 삭제
stringList1.clear();

 

 

empty 확인

//empty
if (stringList1.isEmpty()) {
    System.out.println("Empty");
}

 

전체코드

package hello.core;

import java.util.ArrayList;
import java.util.ListIterator;

public class ExArrayList {

    public static void main(String[] args) {


        ArrayList<String> stringList1 = new ArrayList<>(); // 기본으로 10
        ArrayList<String> stringList2 = new ArrayList<String>(); // String 타입지정 
        ArrayList<String> stringList3 = new ArrayList<>(10); // 크기 지정
        ArrayList<String> stringList4 = new ArrayList<>(stringList1); // list 값복사 초기화

        // Add
        stringList1.add("A");
        stringList1.add("B");
        stringList1.add(1,"C");

        // contains
        if (stringList1.contains("A")) {
            System.out.println("Find");
        }

        //find index
        int index = stringList1.lastIndexOf("B");
        System.out.println(index);

        //iterator
        ListIterator<String> stringIter = stringList1.listIterator();
        while (stringIter.hasNext()){
            System.out.println(stringIter.next());
        }

        //remove
        stringList1.remove("A");
        for(int i = 0; i < stringList1.size(); i++) {
            stringList1.remove(i);
        }

        // clear
        stringList1.clear();

        //empty
        if (stringList1.isEmpty()) {
            System.out.println("Empty");
        }
    }
}

 

 

 

 

 

 

더 공부해보고 싶은 사람은 아래 java API 사이트를 활용하자.

 

docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html

 

ArrayList (Java SE 16 & JDK 16)

Type Parameters: E - the type of elements in this list All Implemented Interfaces: Serializable, Cloneable, Iterable , Collection , List , RandomAccess Direct Known Subclasses: AttributeList, RoleList, RoleUnresolvedList Resizable-array implementation of t

docs.oracle.com

 

728x90
반응형

'Language > Java' 카테고리의 다른 글

[Java] Annotation  (0) 2021.08.20
[Java] Collection Framework  (0) 2021.08.20
[Java] Lambda  (0) 2021.08.06
[Java] Sort  (0) 2021.05.29
[Java] ArrayList to String[]  (0) 2021.05.23

댓글