45

したがって、リンクされたリストを作成し、 add メソッドを使用してエントリごとにエントリを入力する方法を知っています。ただし、エントリごとにエントリを追加したくありません。リストに初期値を持つリンクリストを宣言する方法はありますか?

たとえば、リストに 1.0 と 2.0 を含めたい場合、1 行でできることはありますか? 何かのようなもの:

List<Double> temp1 = new LinkedList<Double>(1,2);
4

4 に答える 4

90

この方法でそれを行うことができます:

List<Double> temp1 = new LinkedList<Double>(Arrays.asList(1.0, 2.0));
于 2012-04-27T02:32:54.757 に答える
13

LinkedListtype のパラメーターを受け入れる次のコンストラクターがありますCollection

public LinkedList(Collection<? extends E> c)

このコンストラクターは、「指定されたコレクションの要素を含むリストを、コレクションの反復子によって返される順序で構築します。」

したがって、このコンストラクターを使用して を宣言し、LinkedList宣言時に値で初期化することができます。任意のCollection<Double>タイプのインスタンスを提供できます。

値のセットのみがあり、Collectionオブジェクトがない場合は、提供された値のセットを変換して返すjava.util.Arrays静的メソッドを持つクラスを使用できます。以下の例を参照してください。asList()List

 List<Double> list = new LinkedList<Double>(Arrays.asList(1.2,1.3,3.2));

のインスタンスが必要な場合はList<Double>、値に小数点以下を指定する必要があります。それ以外の場合は、値を使用して のインスタンスを取得しList<Integer>ます。

于 2012-04-27T02:54:23.970 に答える
5

次のようなメソッドを作成することもできます

static <T> LinkedList<T> createLinkedList(T...elements) {
    LinkedList<T> newList = new LinkedList<T>();
    for (T el : elements) {
        newList.add(el);
    }

    return newList;
}

そしてそれを一緒に使用してください:

        LinkedList<Integer> a = createLinkedList(1, 2, 3);

        for (Integer item : a) {
            System.out.println(item);
        }
于 2012-10-22T21:01:47.020 に答える