10

私が知っているコレクションのオブジェクトを取得したいのですが、要素が1つだけあることがわかっています(基本的には逆ですCollections.singletonList()-しかし、コレクションがリスト/セット/何か他のものであるかどうかがわからないので、使用できませんc.get(0))。

現在私は を使用c.iterator.next()していますが、Java または共通ライブラリ (apache-commons、guava など) の 1 つにそのためのメソッドが既に存在するかどうか疑問に思います。

4

3 に答える 3

3

メソッドシグネチャとJavaDocは、それがであると明確に述べていListます。

これは署名です:

public static <T> List<T> singletonList(T o)

そしてこれはJavaDocです:

指定されたオブジェクトのみを含む不変のリストを返します。返されたリストはシリアル化可能です。

つまり、これは単に次を使用できることを意味します。

List<MyClass> singleton = Collections.singletonList(myObject);
MyClass obj = singleton.get(0);

わあ、今私はあなたが何を意味するのかわかります。私はあなたの質問が明確だったことを認めなければなりません。しかし、何らかの理由で、私は理解していませんでした:)

于 2012-07-30T07:44:15.093 に答える
1

Java 8 では、次のことができます。

collection.stream().findAny().get();
于 2015-02-09T10:04:47.290 に答える