Published 2021. 12. 28. 20:36
728x90
반응형

ArrayList란?

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

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

 


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<Student> members = new ArrayList<Student>();
Student student = new Student(name,age);
members.add(student);
members.add(new Member("홍길동",15));

 


ArrayList 값 삭제

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

 


ArrayList 크기 구하기

ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(1,2,3));
System.out.println(list.size()); //list 크기 : 3

 


ArrayList 값 출력

ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(1,2,3));

System.out.println(list.get(0));//0번째 index 출력
		
for(Integer i : list) { //for문을 통한 전체출력
    System.out.println(i);
}

Iterator iter = list.iterator(); //Iterator 선언 
while(iter.hasNext()){//다음값이 있는지 체크
    System.out.println(iter.next()); //값 출력
}

 


ArrayList 값 검색

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

 


참고 자료

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

반응형

'프로그래밍 > JAVA' 카테고리의 다른 글

HashMap 사용 예제  (0) 2021.12.30
HashSet 사용 예제  (0) 2021.12.29
자바 Collection(List, Set, Map) 비교  (0) 2021.12.27
java 티베로 연결  (0) 2021.10.15
java file download  (0) 2021.10.14
복사했습니다!