본문 바로가기
Java/Java

[Java] ArrayList

by 기록하는_사람 2022. 10. 14.

ArrayList

📌 ArrayList

: 객체 배열이 구현된 클래스.

  예. ArrayList<String> list = new ArrayList<String>();

https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html

 

ArrayList (Java Platform SE 8 )

Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null. In addition to implementing the List interface, this class provides methods to manipulate the size of the array that is

docs.oracle.com

 

📌 ArrayList 클래스의 메서드

boolean add(E e) 배열에 추가.
int size( ) 전체 개수 반환.
E get( [index] ) 해당 index의 값 반환.
E remove( [index] ) 해당 index의 값 제거하고, 값 반환.
boolean isEmpty( ) 배열이 비어있는 지 확인. 

 

📄 학생마다 과목 별 점수 저장하고 출력하는 프로그램.

📄 Subject.java

package array;

public class Subject {
	private String name;
	private int score;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getScore() {
		return score;
	}
	public void setScore(int score) {
		this.score = score;
	}
	
}

📄 Student.java

package array;

import java.util.ArrayList;

public class Student {
	private int id;
	private String name;
	private ArrayList<Subject> subjectList;
	
	public Student(int id, String name) {
		this.id = id;
		this.name = name;
		
		subjectList = new ArrayList<Subject>();
	}
	
	public void addSubject(String name, int score) {
		Subject subject = new Subject();
		
		subject.setName(name);
		subject.setScore(score);
		
		subjectList.add(subject);
	}
	
	public void printInfo() {
		System.out.print(id + "\t" + name + "\t");
		
		for(Subject s : subjectList) {
			System.out.print(s.getName() + "\t" + s.getScore() + "\t");
		}
		
		System.out.println();
	}
}

📄 StudentMain.java

package array;

public class StudentMain {

	public static void main(String[] args) {
		Student jin = new Student(1, "jin");
		jin.addSubject("kor", 100);
		jin.addSubject("math", 50);
		
		jin.printInfo();
		
		Student jimin = new Student(2, "jimin");
		jimin.addSubject("kor", 80);
		jimin.addSubject("math", 70);
		jimin.addSubject("eng", 100);
		
		jimin.printInfo();
	}

}

// 1	jin	kor	100	math	50	
// 2	jimin	kor	80	math	70	eng	100

'Java > Java' 카테고리의 다른 글

[Java] 추상 클래스(Abstract Class)  (0) 2022.10.15
[Java] 상속  (0) 2022.10.14
[Java] 배열(Array)  (0) 2022.10.14
[Java] 콘솔 입출력  (0) 2022.10.14
[Java] singleton 패턴  (0) 2022.10.14

댓글