Pytania otagowane jako iterator

Iterator jest zorientowanym obiektowo wzorcem programowania, który umożliwia przechodzenie przez kolekcję, niezależnie od rzeczywistej implementacji lub adresów obiektów w pamięci fizycznej. Jest to jeden z wzorców projektowania behawioralnego Gang of Four.

11
Przejdź przez wektor C ++, używając pętli „for”
Jestem nowy w języku C ++. Zacząłem używać wektorów i zauważyłem, że w całym kodzie, który widzę, aby iterować przez wektor za pomocą indeksów, pierwszy parametr forpętli jest zawsze oparty na wektorze. W Javie mógłbym zrobić coś takiego z ArrayList: for(int i=0; i < vector.size(); i++){ vector[i].doSomething(); } Czy jest …

5
Iteruj po kluczach obiektów w node.js
Od Javascript 1.7 istnieje obiekt Iterator , który umożliwia to: var a={a:1,b:2,c:3}; var it=Iterator(a); function iterate(){ try { console.log(it.next()); setTimeout(iterate,1000); }catch (err if err instanceof StopIteration) { console.log("End of record.\n"); } catch (err) { console.log("Unknown error: " + err.description + "\n"); } } iterate(); czy jest coś takiego w node.js? …


3
Różnica między Iteratorem a Listiteratorem?
Iterator ite = Set.iterator(); Iterator ite = List.iterator(); ListIterator listite = List.listIterator(); Możemy użyć Iteratordo przejścia a Setlub a Listlub a Map. Ale ListIteratormoże być używany tylko do przechodzenia przezList , nie może przechodzić przez Set. Czemu? Wiem, że główna różnica polega na tym, że z iteratorem możemy podróżować tylko …


12
Iteracja po mapie Typescript
Próbuję iterować po mapie maszynopisu, ale ciągle pojawiają się błędy i nie mogłem jeszcze znaleźć rozwiązania dla tak trywialnego problemu. Mój kod to: myMap : Map<string, boolean>; for(let key of myMap.keys()) { console.log(key); } I otrzymuję błąd: Typ „IterableIteratorShim <[string, boolean]>” nie jest tablicą ani ciągiem. Pełny ślad stosu: Error: …

3
Co się stanie, jeśli wywołasz funkcję erase () na elemencie mapy podczas iteracji od początku do końca?
W poniższym kodzie wykonuję pętlę przez mapę i sprawdzam, czy element musi zostać usunięty. Czy można bezpiecznie wymazać element i kontynuować iterację, czy też muszę zebrać klucze w innym kontenerze i wykonać drugą pętlę, aby wywołać funkcję erase ()? map<string, SerialdMsg::SerialFunction_t>::iterator pm_it; for (pm_it = port_map.begin(); pm_it != port_map.end(); pm_it++) …
133 c++  stl  iterator 



5
Dlaczego iteracja listy miałaby być szybsza niż indeksowanie jej?
Czytając dokumentację Java dla listy ADT mówi: Interfejs List udostępnia cztery metody pozycyjnego (indeksowanego) dostępu do elementów listy. Listy (podobnie jak tablice Java) są liczone od zera. Zauważ, że te operacje mogą być wykonywane w czasie proporcjonalnym do wartości indeksu dla niektórych implementacji (na przykład klasy LinkedList). W związku z …
125 java  list  iterator 


6
Iteruj po liniach łańcucha
Mam ciąg wieloliniowy zdefiniowany w ten sposób: foo = """ this is a multi-line string. """ Ten ciąg użyliśmy jako wejście testowe dla parsera, który piszę. Funkcja parsera otrzymuje file-obiekt jako dane wejściowe i wykonuje iterację po nim. Wywołuje również next()metodę bezpośrednio, aby pominąć wiersze, więc naprawdę potrzebuję iteratora jako …
119 python  string  iterator 

7
Czy istnieje wyrażenie na nieskończony generator?
Czy istnieje proste wyrażenie generatora, które może dać nieskończone elementy? To jest kwestia czysto teoretyczna. Nie ma tu potrzeby "praktycznej" odpowiedzi :) Na przykład łatwo jest utworzyć skończony generator: my_gen = (0 for i in xrange(42)) Jednak aby stworzyć nieskończoną, muszę „zanieczyścić” moją przestrzeń nazw fałszywą funkcją: def _my_gen(): while …

7
Scala w dół czy malejąca dla pętli?
W Scali często używasz iteratora, aby wykonać forpętlę w rosnącej kolejności, na przykład: for(i <- 1 to 10){ code } Jak byś to zrobił, żeby od 10 do 1? Myślę, że 10 to 1daje pusty iterator (jak zwykła matematyka zakresu)? Zrobiłem skrypt Scala, który rozwiązuje to, wywołując odwrócenie w iteratorze, …

9
Jaki jest najlepszy sposób na jednoczesne iterowanie w dwóch lub więcej kontenerach
C ++ 11 zapewnia wiele sposobów iteracji po kontenerach. Na przykład: Pętla oparta na zakresie for(auto c : container) fun(c) std :: for_each for_each(container.begin(),container.end(),fun) Jednak jaki jest zalecany sposób iteracji na dwóch (lub więcej) kontenerach tego samego rozmiaru, aby osiągnąć coś takiego: for(unsigned i = 0; i < containerA.size(); ++i) …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.