자바 자료구조

☕️ [JAVA] ArrayList

King of Silicon Valley 2021. 10. 12. 16:32
728x90

자바의 배열은 길이 값이 고정되어있으므로 여러모로 불편합니다. 

뱌열을 선언할 때 길이를 정해주어야 하기도 하고 정해진 길이 보다 더 많은 데이터를 담으려면 

배열의 크기를 늘려주기도 해야하므로 여러모로 상당히 귀찮습니다.

 

첫 프로그래밍언어로 파이썬을 배운 저는 배열의 길이를 정한다는 개념이 없어서 좀 혼란스웠습니다. 

그래서 자바에서도 파이썬의 리스트 처럼 사용할 수 있는 ArrayList에 대한 정리를 해보겠습니다. 

 

import 

import java.util.ArrayList;

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 값 추가

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(3); //값 추가
list.add(null); //null값도 add가능
list.add(1,10); //index 1에 10 삽입

ArrayList 값 삭제

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.remove(1);  //index 1 제거
list.clear();  //모든 값 제거

remove메소드에는 인자로 인덱스를 넣어주고 해당 인덱스의 값을 지워줍니다. 

 

ArrayList 크기 구하기

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1); // [1]
list.add(2); // [1,2]
list.add(3); // [1,2,3]
list.size(); // 3

.size() 메소드를 사용해서 배열의 크기를 구할 수 있습니다. 

배열의 .length와 같다고 볼 수 있습니다. 

 

AllayList 인데스로 조회 

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.get(0); // 1
list.get(1); // 2
list.get(2); // 3

.get() 메소드에 인자에 인덱스를 넣어서 조회할 수 있습니다. 

 

ArrayList 값 검색

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

.contains() 메소드에 인자에 값을 넣어서 있는지 없는지 확인 할 수 있습니다. 

파이썬의 in연산자와 같은 역할입니다. 

 

.indexOf()메소드로 해당값의 인덱스를 반환합니다. 없으면 -1을 반환합니다. 

 

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

 

[Java] 자바 ArrayList 사용법 & 예제 총정리

ArrayList란? ArrayList는 List 인터페이스를 상속받은 클래스로 크기가 가변적으로 변하는 선형리스트입니다. 일반적인 배열과 같은 순차리스트이며 인덱스로 내부의 객체를 관리한다는점등이 유

coding-factory.tistory.com

위 블로그를 참고해서 약간의 수정을 해서 요약 정리했습니다.

'자바 자료구조' 카테고리의 다른 글

☕️ [JAVA] HashMap  (0) 2021.10.12
☕️ [JAVA] LinkedList  (0) 2021.10.12
☕️ [JAVA] 이진 탐색트리 구현  (0) 2021.10.08
☕️ [JAVA] 해시리니어 구현  (0) 2021.10.07
☕️ [JAVA] 다중 연결리스트 구현  (0) 2021.10.06