프로그래밍 언어/Java

[Java] ArrayList

eunnys 2024. 1. 29. 10:34

ArrayList

  • ArrayList는 List 인터페이스의 대표적인 구현 클래스이다.

 

 


package struct;

import java.util.ArrayList;
import java.util.List;

public class ArrayListTest {

	public static void main(String[] args) {
		// ArrayList는 클래스(concrete class) : 객체 생성할 수 있는 것
		// abstract 클래스 (interface, abstract class) : 객체 생성 못하는 것
		List<String> list = new ArrayList<>();
		List<String> list2 = null;
	
		// CREATE
		list.add("사과");
		list.add("배");
		list.add("바나나");
		list.add("복숭아");
		list.add("딸기");
		
		System.out.println(list.get(1));
		
		// 중간에 데이터 삽입하기
		list.add(1, "수박"); // 배 자리에 수박 추가
		
		System.out.println("데이터의 개수: " + list.size() + "개");
		
		for(String s : list) System.out.println(s); // list에 있는 값을 s에 넣어서 출력(전체 순회)
		System.out.println("========");
		System.out.println(list); // ArrayList의 toString()dl  오버라이드 되어있기 때문에 주소 대신 목록이 출력
		
		// 수정
		list.set(1,  "오렌지"); // 배를 오렌지로 바꿈
		
		// 삭제
		list.remove(0);  // 사과 삭제	
		System.out.println("남은 데이터: " + list.size());
		
		// 전체 삭제	
		list.clear();  
		System.out.println("남은 데이터: " + list.size());
		System.out.println(list); // 빈 [ ]
	}

}

 

package struct;

import java.util.ArrayList;
import java.util.List;

class Person {
	String name;
	int age;
	public Person(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}	
}

public class ArrayListTest2 {

	public static void main(String[] args) {
		List<Person> list = new ArrayList<>();
		
		list.add(new Person("홍길동", 12));
		list.add(new Person("전우치", 25));
		list.add(new Person("손오공", 30));
		list.add(new Person("사오정", 31));
		
		// 전우치 자리에 저팔계 넣기 ==> size 5개
		list.add(1, new Person("저팔계", 15)); 
		
		// 사오정 삭제 ==> size 4개
		Person p = list.remove(4); 
		
		// 손오공 위치에 삼장법사를 넣음 ==> size 4개
		p = list.set(3, new Person("삼장법사", 65));
		
		// 저팔계를 꺼내옴
		p = list.get(1);
	}
}

 

 

'프로그래밍 언어 > Java' 카테고리의 다른 글

[Java] StringBuffer / Wrapper  (0) 2024.01.30
[Java] Set / Map / HashMap  (0) 2024.01.29
[Java] List  (1) 2024.01.29
[Java] 컬렉션(Collection)  (0) 2024.01.29
[Java] 추상 클래스(Abstract Class)  (1) 2024.01.25