ArrayList 훑어보기
2022-03-09 개인적으로 공부한 내용
Array 를 사용하려면 아래와 같은 문법을 사용해야한다.
객체 [ ] 객체명 = {요소, 요소2....} ;
for each 루프를 사용하여 가장 긴 숫자를 출력해내는 프로그램과
마지막 요소부터 처음 요소까지를 출력 해내는 짧은 프로그램을 만들어보았다.
Array 는 유용하지만 요소를 마음대로 추가 제거할 수 없다는 단점이 있다.
ArrayList 는 그래서 만들어졌다. 자바 유틸에서 import해 올 수 있는 이 기능은 .add와 .remove 기능을 사용할 수 있어서 유용하게 사용할 수 있다. 다만 이 기능은 for each 루프를 사용해서 하나씩 대조해가는 방식으로 list를 제거할 수 있는데 나중에 map 인터페이스를 사용하면 더욱 직접적인 추가/제거가 가능하다고 한다.
public class Student {
private String name;
private ArrayList<Integer> marks = new ArrayList<Integer>();
public Student(String name, int... marks) {
this.name = name;
for (int mark : marks) {
this.marks.add(mark);
}
}
public int getNumberOfMarks() {
return marks.size();
}
public int getTotalSumOfMarks() {
int sum = 0;
for (int mark : marks) {
sum += mark;
}
return sum;
}
public int getMaximumMark() {
int maximum = Integer.MIN_VALUE;
for (int mark : marks) {
if (mark > maximum) {
maximum = mark;
}
}
return maximum;
}
public int getMaximumMark2() {
return Collections.max(marks);
}
public int getMinimumMark() {
int minimum = Integer.MAX_VALUE;
for (int mark : marks) {
if (mark < minimum) {
minimum = mark;
}
}
return minimum;
}
public BigDecimal getAverageMarks() {
int sum = getTotalSumOfMarks();
int number = getNumberOfMarks();
return new BigDecimal(sum).divide(new BigDecimal(number), 3, RoundingMode.UP);
}
public void addNewMark(int mark) {
marks.add(mark);
}
public void removeMark(int index) {
marks.remove(index);
}
@Override
public String toString() {
return name + marks;
}
}
ArrayList를 사용하면 length 대신 .size 를 써야 전체 길이가 출력된다.
또한 그냥 출력하기를 누르면 객체의 해시코드가 출력되기 때문에 toString 을 사용하여 값을 설정해 주어야 한다.
Author And Source
이 문제에 관하여(ArrayList 훑어보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@semihumanbeing/ArrayList-훑어보기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)