Java 获取单例集合的对象
我想得到一个集合的对象,我知道它只有一个元素(基本上它与Java 获取单例集合的对象,java,collections,Java,Collections,我想得到一个集合的对象,我知道它只有一个元素(基本上它与Collections.singletonList()的相反-但是我不知道该集合是否是list/set/something,所以我不能使用c.get(0)) 目前我使用的是c.iterator.next(),不知道Java中是否已经有这样的方法,或者是一个公共库(ApacheCommons、guava等)方法签名,并清楚地表明它是一个列表 这是签名: public static <T> List<T> singlet
Collections.singletonList()
的相反-但是我不知道该集合是否是list/set/something,所以我不能使用c.get(0)
)
目前我使用的是
c.iterator.next()
,不知道Java中是否已经有这样的方法,或者是一个公共库(ApacheCommons、guava等)方法签名,并清楚地表明它是一个列表
这是签名:
public static <T> List<T> singletonList(T o)
公共静态列表singletonList(TO)
这是JavaDoc:
返回仅包含指定对象的不可变列表。返回的列表是可序列化的
因此,这意味着您可以简单地使用:
List<MyClass> singleton = Collections.singletonList(myObject);
MyClass obj = singleton.get(0);
List singleton=Collections.singletonList(myObject);
MyClass obj=singleton.get(0);
哦,现在我明白你的意思了。我得承认你的问题很清楚。但出于这样或那样的原因,我不明白:)(或者Iterables.getFirst()
,如果集合可以为空)来自Guava。使用Java 8,您可以:
collection.stream().findAny().get();
OP实际上没有使用singletonList
。他们想要的是相反的结果:从任何集合中提取一个元素。希望看到此解决方案与集合的基准比较。迭代器()。使用