Есть ли эквивалент LINQ's Single в java? Возможно, в lambdaj?LINQ Single в java?
ответ
Использование Guava:
Это довольно легкий, чтобы реализовать себя, если честно:
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;
}
(Или поставить его в общем классе вместо того, чтобы метод родовыми Вы можете решить использовать другой тип исключения, тоже. .)
Тем не менее, я предпочитаю ответ @ Эмиля, предполагая, что гуава достаточно легка. С Maven импортирование сторонних библиотек настолько просто, что барьер «интегрировать новую библиотеку» снижен. См. Также http://stackoverflow.com/questions/4263607/what-is-the-de-facto-standard-for-action-func-classes – ripper234 2010-11-26 18:07:20
Кстати, где вы были за последние несколько дней ??? Я задал около 25 вопросов за последние несколько дней, некоторые из них до сих пор остаются без ответа, и я уверен, что вы знаете ответы на 90% из них :) Почти все они более важны, чем этот вопрос ... http: // stackoverflow.com/users/11236/ripper234 – ripper234 2010-11-26 18:12:05
Менее защитная версия решения @ Jon.
Collection<T> coll;
T first = col.iterator().next();
Добавить проверки по вкусу.
Если вы можете использовать мою xpresso библиотеку вы можете написать: x.list(iterable).toScalar();
- 1. Параметр LINQ First() или Single()
- 2. LINQ to Entities не распознает метод «Single Abs (Single)»
- 3. Single Sign on java
- 4. Java Agario single player
- 5. Linq Single Column Group Не работает
- 6. Метод ToList(), используя Single() linq query
- 7. EF6 Single LINQ Query для вложенных списков
- 8. Проверить, если single() LINQ return NULL
- 9. Java SceneBuilder design single panel
- 10. Java Single Threaded Chat Application
- 11. SSO (Single Sign On) в Java-приложениях
- 12. Single реализация связанного списка в Java
- 13. Single User Single Login
- 14. Javascript single single quotation
- 15. java single writer и multiple reader
- 16. Visual Basic single data type in java
- 17. Single for-loop Into Mult Columns (JAVA)
- 18. filerering/replacement single quote in java
- 19. Java Single Process с несколькими потоками
- 20. java selection sort using single array
- 21. Java Web + Active Directory - Single Sign-on
- 22. Regex Java String Split by Single Asterisk
- 23. Java Simple and Single Threading IllegalMonitorStateException
- 24. Java single char Строка, представленная несколькими байтами
- 25. Реализация Single LinkedList с использованием java
- 26. LINQ to XML: Collapse mutliple levels to single list
- 27. LINQ удаление - Можно удалить один путь, не используя Single перечислимую
- 28. LINQ Any() и Single() void SingleOrDefault() с нулевой проверкой
- 29. Java testng single dataprovider multiple test
- 30. Что такое java, эквивалентный оператору Single() C#?
Проверить этот один: github.com/nicholas22/jpropel-light, пример: новый String [] {"james", "john", "john", "eddie"} .where (startsWith ("j")). ToList(). Distinct(); – 2011-10-08 10:27:56
jpropel кажется приятным, но я не могу найти его в maven repo. слишком плохо ... – 2012-10-28 12:58:04