Почему так много методов используют Collection, а не Iterable?

С C # я полюбил интерфейс IEnumerable . Есть много случаев, когда это все, что вы хотите отдать и принять. Кроме того, это полезно в библиотеке .Net. Например, у вас есть конструктор в классе List , который принимает IEnumerable .

Сейчас мне нужно работать с Java, и я, естественно, хотел использовать эквивалентный интерфейс Iterable . Однако на самом деле не похоже, что я могу использовать его где-нибудь. Кажется, что все вместо этого использует расширенный интерфейс Collection . Почему это?

В качестве примера у вас есть конструктор ArrayList , который принимает Collection : ​​

Создает список, содержащий элементы указанной коллекции, в порядок, в котором они возвращаются коллекцией ' s итератор.

Почему бы просто не взять вместо этого Iterable ?

8
задан Svish 11 May 2011 в 11:24
поделиться