Stronę tą wyświetlono już: 3371 razy
Omawiana wcześniej klasa QStringList bazuje zasadniczo na klasie QList, która jest klasą szablonową przeznaczoną do przechowywania zmiennych wybranego typu. Żeby skorzystać z tej klasy konieczne jest załączenie pliku QList.
Dodawanie elementów do obiektu klasy QList
Dodanie kolejnych elementów można przeprowadzić na kilka różnych sposobów, jednym z nich jest przypisanie w stylu C++ 11:
Można również dodawać na różne sposoby kolejne elementy do takiej listy:
Wynik działania powyższego kodu:
(10, 20) (10, 20, 30, 40, 50) (60, 10, 20, 30, 40, 50) (60, 10, 20, 30, 40, 50, 70, 80) (60, 10, 20, 30, 40, 50, 70, 80, 90, 100, 110) (130, 60, 10, 20, 30, 40, 50, 70, 80, 90, 100, 110, 120) (130, 60, 10, 130, 20, 30, 40, 50, 70, 80, 90, 100, 110, 120)
Pozyskiwanie informacji o liczbie elementów zawartych w liście
Istnieją dwie metody length i size, które zwracają liczbę elementów zawartych w obiekcie klasy QList.
Iterowanie po elementach listy
Iterowanie można wykonać na kilka sposobów. Pierwszy z nich wykorzystuje indeksowanie:
Można też iterować wykorzystując wskaźniki:
Jeżeli dodana została obsługa standardu C++ 11 można sobie ułatwić życie iterując w następujący sposób:
I w końcu można iterować po elementach listy w stylu Javy:
Sprawdzanie, czy na liście znajduje się podany element
Za pomocą metody contains można sprawdzić, czy na liście znajduje się podany element. Oto przykład:
Znalezienie indeksu pierwszego lub ostatniego wystąpienia danej wartości w liście
By znaleźć ostatni lub pierwszy indeks, pod którym znajduje się szukana wartość należy skorzystać z metody indexOf lub lastIndexOf w następujący sposób:
Usuwanie elementów z listy
Istnieje szereg metod, które umożliwiają usuwanie elementów z listy QList. Oto przykład ich użycia:
Wynik działania powyższego kodu:
(100, 200, 300, 400, 500, 600, 600, 700, 100) (100, 200, 300, 400, 500, 700, 100) (200, 300, 400, 500, 700, 100) (200, 300, 400, 500, 700) (200, 300, 500, 700)
Zdejmowanie pierwszego i ostatniego elementu listy
Metody takeFirst i takeLast umożliwiają zdjęcie pierwszego i ostatniego elementu listy z jednoczesnym jego zwróceniem.
Wynik działania powyższego kodu:
(100, 200, 300, 400, 500, 600, 600, 700, 100, 300, 400, 500, 600, 700, 800) Get first one: 100 After remove first one: (200, 300, 400, 500, 600, 600, 700, 100, 300, 400, 500, 600, 700, 800) Get last one: 800 After remove last one: (200, 300, 400, 500, 600, 600, 700, 100, 300, 400, 500, 600, 700) Get 3rd one: 400 After remove 3rd one: (200, 300, 500, 600, 600, 700, 100, 300, 400, 500, 600, 700)
Wyciąganie części elementów z wnętrza listy
Metoda mid umożliwia wyciągnięcie dowolnej liczby elementów z wnętrza listy. Oto przykład:
Wynik działania powyższego kodu:
(100, 200, 300, 400, 500, 600, 600, 700, 100, 300, 400, 500, 600, 700, 800) (400, 500, 600, 600, 700)
Przenoszenie elementu listy
Metoda move umożliwia przeniesienie elementu o podanym indeksie na inną pozycję:
Wynik działania powyższego kodu:
(0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0) (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1)
Łączenie dwóch list
Łączenie dwóch list umożliwia operator dodawania z podstawianiem += oraz dodawania +. Oto przykład:
Wynik działania powyższego kodu:
(0, 1, 2, 3, 4, 5, 6) (3, 4, 5, 6, 0, 1, 2)
Zamiana elementów list miejscami
Jeżeli zachodzi konieczność zamiany miejscami elementów dwóch list, to najszybszą metodą wykonania tego zadania jest użycie metody swap w następujący sposób:
Wynik działania powyższego kodu:
Before swap: data = (0, 1, 2) data2 = (3, 4, 5, 6) After swap: data = (3, 4, 5, 6) data2 = (0, 1, 2)