Java - ArrayListの要素の位置を変更する(Swap)

リスト内の2つの要素の位置を変更する方法を紹介します。たとえば、リストには4つの要素があり、Index 0とIndex 3の位置を変更できます。

1. Collections.swap() で要素の位置を変更する

Collections.swap(list, index1, index2) はリスト内の index1 と index2 の位置を置き換えます。

以下のようにリストの要素2つの位置を変更できます。

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Example {

    public static void main(String[] args) {

        List<String> words = Arrays.asList("A", "B", "C", "D");

        Collections.swap(words, 0, 3);
        System.out.println(words);
    }
}

Output:

[D, B, C, A]

2. 配列から Collections.swap() に要素を配置する

以下のように配列をリストに変換して swap() に渡すと、配列の要素位置も変えることができます。

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Example1 {

    public static void main(String[] args) {

        String[] words = {"A", "B", "C", "D"};

        Collections.swap(Arrays.asList(words), 0, 3);
        System.out.println(Arrays.toString(words));
    }
}

Output:

[D, B, C, A]
codechachaCopyright ©2019 codechacha