Java - ArrayList 특정 위치에 요소 추가

ArrayList에 요소를 추가할 때 특정 위치(Index)에 추가하는 방법을 소개합니다.

기본적으로 ArrayList.add()리스트의 맨 앞에 요소를 추가합니다. add()에 Index를 인자로 전달하면 그 위치에 요소를 추가합니다.

1. ArrayList.add()로 특정 Index에 요소 1개 추가

ArrayList.add(index, element)는 인자로 전달된 index에 요소를 추가합니다.

아래 예제를 보시면, 특정 index에 요소가 추가된 것을 확인할 수 있습니다.

import java.util.ArrayList;

public class Example {

    public static void main(String[] args) {

        ArrayList<String> myList = new ArrayList<>();
        myList.add("1");
        myList.add("2");
        myList.add("3");
        myList.add("4");

        System.out.println("myList: " + myList);

        myList.add(1, "orange");
        System.out.println("myList after add(1, orange): " + myList);

        myList.add(4, "kiwi");
        System.out.println("myList after add(4, kiwi): " + myList);

        myList.add(3, "apple");
        System.out.println("myList after add(3, apple): " + myList);
    }
}

Output:

myList: [1, 2, 3, 4]
myList after add(1, orange): [1, orange, 2, 3, 4]
myList after add(4, kiwi): [1, orange, 2, 3, kiwi, 4]
myList after add(3, apple): [1, orange, 2, apple, 3, kiwi, 4]

2. ArrayList.addAll()로 특정 Index에 리스트의 모든 요소 추가

ArrayList.addAll(index, collection)은 인자로 전달된 index에 collection의 모든 요소를 추가합니다. 여기서 Collection은 ArrayList, Set 등이 될 수 있습니다. 이 클래스들은 Collection을 상속합니다.

아래 예제와 같이 특정 위치에 다른 리스트의 모든 요소들을 추가할 수 있습니다.

import java.util.ArrayList;

public class Example1 {

    public static void main(String[] args) {

        ArrayList<String> myList = new ArrayList<>();
        myList.add("1");
        myList.add("2");
        myList.add("3");
        myList.add("4");

        System.out.println("myList: " + myList);

        ArrayList<String> newList = new ArrayList<>();
        newList.add("apple");
        newList.add("orange");
        newList.add("mango");

        myList.addAll(2, newList);
        System.out.println("myList after addAll(2, newList): " + myList);
    }
}

Output:

myList: [1, 2, 3, 4]
myList after addAll(2, newList): [1, 2, apple, orange, mango, 3, 4]

addAll()은 ArrayList 뿐만 HashSet의 모든 요소들도 추가할 수 있습니다. HashSet도 Collection을 상속하기 때문입니다.

import java.util.ArrayList;
import java.util.HashSet;

public class Example1 {

    public static void main(String[] args) {

        ArrayList<String> myList = new ArrayList<>();
        myList.add("1");
        myList.add("2");
        myList.add("3");
        myList.add("4");

        System.out.println("myList: " + myList);

        HashSet<String> newSet = new HashSet<>();
        newSet.add("apple");
        newSet.add("orange");
        newSet.add("mango");

        myList.addAll(2, newSet);
        System.out.println("myList after addAll(2, newSet): " + myList);
    }
}

Output:

myList: [1, 2, 3, 4]
myList after addAll(2, newSet): [1, 2, orange, apple, mango, 3, 4]
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha