285
голосов
12ответов
367184 просмотров

Java: получить первый элемент из коллекции

Если у меня есть коллекция, например Collection<String> strs, как я могу получить первый предмет?Я мог бы просто позвонить по номеру Iterator, взять его первый номер next(), а затем выбросить Iterator.Есть ли менее расточительный способ сделать это?

4
голосов
5ответов
4765 просмотров

java iterator/iterable subinterface

I have an interface for a variety of classes, all of which should implement Iterator, so I have something like public interface A extends Iterable<A> { ...otherMethods()... } For the concrete classes, however, this means I must use public class B implements A { public Iterator<A> ...

9
голосов
8ответов
12922 просмотров

How does a Python for loop with iterable work?

What does for party in feed.entry signify and how does this for-loop actually work? for party in feed.entry: print(party.location.address.text) (I am used to C++ style for-loops, but the Python loops have left me confused.)

38
голосов
5ответов
46124 просмотров

Для чего используется интерфейс Iterable?

Я новичок и не могу понять реальный эффект интерфейса Iterable.

6
голосов
1ответов
1722 просмотров

Эмуляция теста членства в Python: правильное делегирование __contains__ содержащемуся объекту

Я привык к тому, что Python позволяет использовать некоторые хитрые приемы для делегирования функций другим объектам. Одним из примеров является делегирование включенным объектам. Но похоже, что мне не везет, когда я хочу делегировать __contains __: class A(object): def __init__(self):...

178
голосов
16ответов
47185 просмотров

Почему Java Iterator не является Iterable?

Почему интерфейс Iterator не расширяет Iterable? Метод iterator() может просто вернуть this. Это намеренно или просто по недосмотру разработчиков Java? Было бы удобно использовать цикл for-each с такими итераторами: for(Object o : someContainer.listSomeObjects()) { .... } где...

3440
голосов
33ответов
1831673 просмотров

Понимание обозначения среза

Мне нужно хорошее объяснение (ссылки - плюс) по нотации фрагментов Python. Мне нужно немного усвоить эти обозначения. Это выглядит очень мощно, но я не совсем понимаю.

122
голосов
9ответов
71340 просмотров

Длина выхода генератора

Python предоставляет хороший метод для получения длины нетерпеливой итерации, то есть len(x). Но я не смог найти ничего похожего для ленивых итераций, представленных генераторами и функциями. Конечно, нетрудно написать что-то вроде: def iterlen(x): n = 0 try: while True: next(x)...

5
голосов
2ответов
4310 просмотров

Итерация Haxe в Dynamic

У меня есть переменная типа Dynamic, и я точно знаю одно из ее полей, назовем его a, на самом деле это массив. Но когда я пишу var d : Dynamic = getDynamic(); for (t in d.a) { } Я получаю ошибку компиляции во второй строке: Вы не можете перебирать динамическое значение, укажите Iter...

65
голосов
5ответов
20150 просмотров

Почему нельзя итерировать перечисления?

В Java 5 и выше у вас есть цикл foreach, который волшебным образом работает со всем, что реализует Iterable: for (Object o : list) { doStuff(o); } Однако Enumerable по-прежнему не реализует Iterable, а это означает, что для перебора Enumeration вы должны сделать следующее: for(; e.ha...