🌻 JAVA/정리정리정리

[Java] ArrayList 사용법

2020. 6. 29. 17:58
목차
  1. ArrayList란?
  2. ArrayList 선언
  3. 값 추가 list.add( );
  4. 값 수정 list.set(index, E element);
  5. 값 삭제 list.remove(index);
  6. 값 가져오기 list.get(index);
  7. 값 검색
  8. 반복자 ( iterator )
반응형

ArrayList란?

ArrayList는 List 인터페이스를 상속받은 클래스로 크기가 가변적으로 변하는 선형리스트입니다.

1. 한번 생성되면 크기가 변하지 않는 배열과는 달리 ArrayList는 객체들이 추가되어 저장 용량(capacity)을 초과한다면 자동으로 부족한 크기만큼 저장 용량(capacity)이 늘어난다는 특징을 가지고 있습니다.

 

 

 

ArrayList 선언

import java.util.ArrayList;

ArrayList list = new ArrayList();//타입 미설정 Object로 선언된다.
ArrayList<Student> members = new ArrayList<Student>();//타입설정 Student객체만 사용가능
ArrayList<Integer> num = new ArrayList<Integer>();//타입설정 int타입만 사용가능
ArrayList<Integer> num2 = new ArrayList<>();//new에서 타입 파라미터 생략가능
ArrayList<Integer> num3 = new ArrayList<Integer>(10);//초기 용량(capacity)지정
ArrayList<Integer> list2 = new ArrayList<Integer>(Arrays.asList(1,2,3));//생성시 값추가

ArrayList <>파라미터는 Wrapper클래스를 사용해야한다.

 

 

 

 

값 추가 list.add( );

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(3); //값 추가
list.add(null); //null값도 add가능
list.add(1,10); //index 1뒤에 10 삽입
ArrayList<Student> list = new ArrayList<Student>();
Student student = new Student(name,age);
members.add(student);
members.add(new Member("홍길동",15));

 

 

 

값 수정 list.set(index, E element);

//list = {0,1,2,3...};

//리스트의 인덱스0의 값을 100으로 변경한다.
list.set(0, 100);

//바뀐 리스트의 값
//list = {100,1,2,3...};

 

 

 

 

 

 

 

값 삭제 list.remove(index);

list.remove(2); //인덱스:2 값 삭제

 

 

 

 

 

 

 

 

값 가져오기 list.get(index);

list.get(2); //인덱스:2 값 가져오기

 

 

 

값 검색

ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(1,2,3));
System.out.println(list.contains(1)); //list에 1이 있는지 검색 : true 
System.out.println(list.indexOf(1)); //1이 있는 index반환 없으면 -1

 

 

 

 

반복자 ( iterator )

 

Iterator 객체 생성

ArrayList<Integer> numbers = new ArrayList<>();
Iterator it<Integer> = numbers.iterator();

 

it.hasNext()로 numbers에 다음값이 있는지 확인, 있으면 -> it.next()로 불러온다.

while(it.hasNext()){
    System.out.println(it.next());          
}

 

while 값이 없을때까지, 반복

while(it.hasNext()){
    int value = it.next();
    if(value == 30){
        it.remove();
    }                       
}

 

 

for(int value : numbers){
    System.out.println(value);
}

 

 

 

 

 

 

 

[참고]

https://www.w3resource.com/java-tutorial/arraylist/arraylist_set.php

https://programmers.co.kr/learn/courses/17/lessons/805

https://coding-factory.tistory.com/551

 

반응형
저작자표시 (새창열림)
  1. ArrayList란?
  2. ArrayList 선언
  3. 값 추가 list.add( );
  4. 값 수정 list.set(index, E element);
  5. 값 삭제 list.remove(index);
  6. 값 가져오기 list.get(index);
  7. 값 검색
  8. 반복자 ( iterator )
'🌻 JAVA/정리정리정리' 카테고리의 다른 글
  • [Java] URI / URL 의 차이
  • [Java] isNumeric(String s) 메소드
  • [Java] 실행 시간 구하기
  • [Java] 스택(Stack) / 큐(Queue) 정리
iseunghan
iseunghan
꾸준하게 열심히..
iseunghan
iseunghan

공지사항

  • 어제보다 나은 오늘이 되기 위해 🔥
  • 분류 전체보기 (262)
    • 💐 Spring (14)
      • 개념 및 이해 (2)
      • Spring 핵심 기술 (24)
      • Spring REST API (8)
      • Spring MVC, DB 접근 기술 (7)
      • Spring Security (23)
      • Spring in Action (1)
    • 🌻 JAVA (84)
      • 자바 ORM 표준 JPA 프로그래밍 (20)
      • 알고리즘, 자료구조 (13)
      • 디자인 패턴 (7)
      • 정리정리정리 (43)
      • JUnit (1)
    • 🔖 Snippets (3)
      • Javascript (3)
    • ⚙️ Devops (22)
      • ⛏ Git (11)
      • 🐳 Docker (6)
      • 🐧 Linux (3)
      • 🌈 Jenkins (1)
      • 📬 Kafka (1)
    • 💬 ETC.. (4)
      • 💻 macOS (2)
    • 🌧️ ORM (2)
      • JPA (2)
    • 🐍 Python (3)
    • 📚 Databases (15)
      • 오라클로 배우는 데이터베이스 개론과 실습(2판) (3)
      • RealMySQL 8.0 (8)
    • 🔥 Computer Science (5)
      • 📡 네트워크 (5)
    • 🏷️ 협업 (1)
    • 📜 코딩테스트 (38)
      • BAEKJOON\수학 1, 수학 2 (8)
      • BAEKJOON\재귀 (5)
      • BAEKJOON\브루트 포스 (3)
      • BAEKJOON\정렬 (1)
      • BAEKJOON\백트래킹 (5)
      • BAEKJOON\BFS, DFS (6)
      • BAEKJOON\이분탐색 (1)
      • BAEKJOON\다이나믹 프로그래밍 (9)
      • BAEKJOON\그리디 알고리즘 (0)
    • ✨ ISEUNGHAN (1)

인기 글

전체
오늘
어제
반응형
hELLO · Designed By 정상우.
iseunghan
[Java] ArrayList 사용법
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.