study/java
자바/JAVA ArrayList
올스왑
2021. 1. 11. 15:20
배열은 동일한 자료형의 순차적 자료 구조이다. 배열은 연속된 자료구조이다.
ArrayList: List 인터페이스를 상속받은 클래스로 크기가 가변적으로 변하는 선형리스트. 파이썬의 리스트와 비슷하다.
선언 방법
import java.util.ArrayList
public class ArrayListExam{
ArrayList list = new ArrayList(); //타입 없이 선언된다.
ArrayList<String> str = new ArrayList<String>(); // String 타입의 객체를 담는 ArrayList
ArrayList<Integer> num = new ArrayList<Integer>(); // integer 타입의 객체를 담는 ArrayList
ArrayList<Integer> num2 = new ArrayList<>(); // new에서 타입 생략 가능.
ArrayList<Integer> num3 = new ArrayList<>(10); // 초기 용량 지정 가능.
ArrayList<Integer> num4 = new ArrayList<Integer>(Arrays.asList(1,2,3)); // 미리 추가 가능.
}
값 추가, 삭제, 검색, 출력
ArrayList<Integer> num = new ArrayList<Integer>();
num.add(3); // 값 추가, 맨뒤에 삽입함.
num.add(null); //null값도 추가 가능.
num.add(1,10); // 1번 인덱스에 10 삽입
ArrayList<Member> mem = new ArrayList<Member>();
Member member1 = new Member("신짱구", 5);
mem.add(member1);
mem.add(new Member("신짱아", 1)); //객체 생성해서 바로 추가 가능.
num.remove(1); // 1번 인덱스 삭제, 그리고 빈칸은 뒤에 값들로 채워짐. 파이썬의 리스트와 같음.
num.clear(); // 모든 값 제거.
int memSize = mem.size(); // 크기를 리턴함
System.out.println(mem.get(0)); //0번째 index 출력
for(Member i : mem) { //for문을 통한 전체출력
System.out.println(i);
}
System.out.println(mem); // 배열 형태로 전체 출력
System.out.println(mem.contains(member1)); //member1이 있는지 검색 : true
System.out.println(mem.indexOf(member1)); //member1이 있는 index반환 없으면 -1