Java 8 の時点で、Java オブジェクトを List にラップする効率的な方法を次に示します。
コレクション。singletonList : 1.3 以降の単一アイテム、不変。
Collections.singletonList( object )
内部クラスに裏打ちされたハイパフォーマンス。
コレクション。nCopies : 1.2 以降、1 つのオブジェクト、ゼロから多数のアイテム、不変。
Collections.nCopies( number_of_copy, object )
内部クラスに裏打ちされたハイパフォーマンス。すべてのアイテムが同じオブジェクトを指しています。
配列。asList : 任意の数のオブジェクト、サイズ不変 (個々の要素は変更可能)、1.2 以降。
Arrays.asList( object1, object2, object3 )
内部クラスに支えられています。アイテムはコンパイル時に配列に変換され、この配列はリストを直接バックアップします。
new ArrayList(Collection) : 任意の数のオブジェクト、変更可能、1.2 以降
new ArrayList<>( Arrays.asList( object1, object2, object3 ) )
ArrayList は配列 cloneと配列 copyで作成されるため、ループは使用しません。