سؤال
هل هناك ما يعادل LINQ غير مرتبطة في جافا؟ ربما في لامداج?
المحلول
نصائح أخرى
من السهل جدًا تنفيذ نفسك ، لأكون صادقًا:
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;
}
(أو ضعها في فئة عامة بدلاً من جعل الطريقة عامة. قد تقرر استخدام نوع استثناء مختلف أيضًا.)
نسخة أقل دفاعية من حل @جون.
Collection<T> coll;
T first = col.iterator().next();
أضف شيكات حسب الذوق.
إذا كنت تستطيع استخدام بلدي Xpresso مكتبة يمكنك الكتابة: x.list(iterable).toScalar();
لا تنتمي إلى StackOverflow