본문 바로가기
Skill Stacks/Java

17. Java Array, ArrayList

by JayAlex07 2023. 5. 31.

17. Java Array, ArrayList

 

 

가변적 매개변수 (Variable Arguments)

// 1번
Student student = new Student("Alex", new int[] {97, 81, 100});

// 2번
Student student = new Student("John", 88, 77, 100, 66);
  • 1번처럼, 2개의 arguments를 클래스에 넣어서 객체를 만들 수 있다
    • 이 때에 입력할 수 있는 argument는 고정이 되어 있다
  • 2번 같은 경우, 숫자들은 모두 점수이다
    • 여기서는 클래스에 입력할 수 있는 argument의 개수가 고정이 아니다

 

 

고정적인 argument보다는, 다양한 값을 클래스에 넣고 싶을 때에 가변적 매개변수를 사용한다

public int sum (int... values) {
    int answer = 0;
    for (int value: values) {
        answer += value;
    }
    return answer
}
  • int... values
    • ... 을 넣으면, argument를 제한 없이 넣을 수 있다
    • 여기서 ... 을 사용하게 되면 array로 만들어준다

 

 

ArrayList

한번 Array가 만들어졌으면, 새로운 원소를 추가하거나, 뺄 수 없다

 

Array에 원소를 추가할 때에

  • 임시 Array를 만들어, 추가할 원소와, 원래 기존의 원소들을 for문을 통해 넣어준다
  • 그리고 임시 Array를 기존 Array에 덮어씌운다
int[] nums = {1, 2, 3, 4};
// nums ==> int[4] { 1, 2, 3, 4 }

int[] temp_nums = new int[nums.length + 1];
// temp_nums ==> int[5] { 0, 0, 0, 0, 0 }

for (int i = 0; i < nums.length; i++) {
    temp_nums[i] = nums[i];
}
// temp_nums ==> int[5] { 1, 2, 3, 4, 0 }

temp_num[nums.length] = 5;
// temp_nums ==> int[5] { 1, 2, 3, 4, 5 }

nums = temp_nums;
// nums ==> int[5] { 1, 2, 3, 4, 5 }

 

ArrayList 사용하기

jshell> ArrayList<String> items = new ArrayList<String>();
// items ==> []

jshell> items.add("Football");
jshell> items.add("Basketball");
jshell> items.add("Rugby");

jshell> items
// items ==> [Football, Basketball, Rugby]

jshell> items.remove("Rugby");

jshell> items.remove(1);

jshell> items
// items ==> [Football]
  • .add().remove() 를통해서, 리스트에 있는 원소를 삭제할 수 있다
    • .remove() 는 원소 값 또는 인덱스를 사용할 수 있다

 

Array에서 ArrayList로 바꾸기

  • Array를 for문으로 순회를 하면서 ArrayList에 넣기 (지금까지 배운 것 기준)

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

19. Java 클래스 (추상 클래스, 인터페이스)  (0) 2023.06.05
18. Java 클래스 (속성)  (0) 2023.06.02
16. Java Array  (4) 2023.05.29
15. Java Wrapper 클래스, Dates  (0) 2023.05.28
14. Java String 대체 클래스  (0) 2023.05.27