LINQ的java单曲?

rip*_*234 1 java linq lambdaj

在java中有没有相当于LINQ的Single?也许在lambdaj

Jon*_*eet 8

说实话,这是一个非常容易实现的事情:

public static <T> T single(Iterable<T> source) {
  Iterator<T> iterator = source.iterator();
  if (!iterator.hasNext()) {
    throw new IllegalArgumentException("No elements");
  }
  T first = iterator.next();
  if (iterator.hasNext()) {
    throw new IllegalArgumentException("More than one element");
  }
  return first;
}
Run Code Online (Sandbox Code Playgroud)

(或者将它放在泛型类中,而不是使方法通用.您也可以决定使用不同的异常类型.)