Класс System::Collections::Generic::List

List class

List forward declaration.

template<typename T>class List : public virtual System::Object,
                                 public System::Collections::Generic::IList<T>
ПараметрОписание
TТип элемента.

Nested classes

Методы

МетодОписание
_add_range(std::initializer_list<T>)Специфично для C++.
Add(const T&) overrideДобавляет элемент в конец списка.
AddInitializer(int, const T *)Добавляет элементы в список; используется при переводе инициализаторов.
AddRange(IEnumerablePtr)Добавляет все элементы из коллекции (или из неё самой) в конец текущего списка.
AsReadOnly()Получает только для чтения ссылку на эту коллекцию.
begin()Возвращает итератор на первый элемент коллекции.
begin() constПолучает итератор к первому элементу константно‑квалифицированной коллекции.
BinarySearch(const T&) constИщет элемент в отсортированном списке.
BinarySearch(const T&, const SharedPtr<System::Collections::Generic::IComparer<T>>&) constИщет элемент в отсортированном списке.
BinarySearch(int, int, const T&, const SharedPtr<System::Collections::Generic::IComparer<T>>&) constИщет элемент в отсортированном списке.
cbegin() constПолучает итератор к первому константно‑квалифицированному элементу коллекции.
cend() constПолучает итератор для несуществующего константно‑квалифицированного элемента за концом коллекции.
Clear() overrideУдаляет все элементы.
Contains(const T&) const overrideПроверяет, присутствует ли элемент в списке.
ConvertAll(Converter<T, OutputType>)Создаёт список элементов, преобразованных в другой тип.
CopyTo(System::ArrayPtr<T>, int) overrideКопирует элементы списка в существующие элементы массива.
CopyTo(const System::ArrayPtr<T>&)Копирует все элементы в существующие элементы массива.
CopyTo(int, const System::ArrayPtr<T>&, int, int)Копирует элементы, начиная с указанного индекса, в существующие элементы массива.
crbegin() constПолучает обратный итератор к последнему элементу коллекции, квалифицированному как const (первый в обратном порядке).
crend() constПолучает обратный итератор для несуществующего const‑квалифицированного элемента перед началом коллекции.
data()Функция доступа к базовой структуре данных.
data() constФункция доступа к базовой структуре данных.
end()Получает итератор для несуществующего элемента за концом коллекции.
end() constПолучает итератор для несуществующего элемента за концом константно‑квалифицированной коллекции.
Exists(System::Predicate<T>)Проверяет, существует ли элемент, соответствующий заданному предикату, в списке.
Find(System::Predicate<T>)Ищет элемент, соответствующий заданному предикату.
FindAll(System::Predicate<T>)Ищет элементы, соответствующие заданному предикату.
FindIndex(System::Predicate<T>)Ищет элемент, соответствующий заданному предикату.
FindIndex(int, System::Predicate<T>)Ищет элемент, соответствующий заданному предикату.
FindIndex(int, int, System::Predicate<T>)Ищет элемент, соответствующий заданному предикату.
FindLast(System::Predicate<T>)Ищет последний элемент, соответствующий заданному предикату.
ForEach(System::Action<T>)Применяет действие ко всем элементам списка.
get_Capacity() constПолучает текущую ёмкость списка.
get_Count() const overrideПолучает количество элементов в текущем списке.
GetEnumerator() overrideПолучает перечислитель для перебора элементов списка.
GetRange(int, int)Создаёт срез списка.
idx_get(int) const overrideПолучает элемент в определённой позиции.
idx_set(int, T) overrideУстанавливает элемент в определённой позиции.
IndexOf(const T&) const overrideПолучает первый индекс указанного элемента.
IndexOf(const T&, int) constИщет указанный элемент в списке.
Insert(int, const T&) overrideВставляет элемент в указанную позицию.
InsertRange(int, IEnumerablePtr)Вставляет диапазон данных в определённую позицию.
LastIndexOf(const T&) constИщет указанный объект и возвращает нулевой индекс последнего вхождения во всём списке.
LastIndexOf(const T&, int32_t) constИщет указанный объект и возвращает нулевой индекс последнего вхождения в диапазоне элементов List, который простирается от первого элемента до указанного индекса.
LastIndexOf(const T&, int32_t, int32_t) constИщет указанный объект и возвращает нулевой индекс последнего вхождения в диапазоне элементов List, который содержит указанное количество элементов и заканчивается на указанном индексе.
List()Создаёт пустой список.
List(int)Создаёт список с заранее определённой ёмкостью.
List(IEnumerablePtr)Конструктор копирования.
operator[](int)Функция доступа.
operator[](int) constФункция доступа.
rbegin()Получает обратный итератор к последнему элементу коллекции (первый в обратном порядке).
rbegin() constПолучает обратный итератор к последнему элементу const‑квалифицированной коллекции (первый в обратном порядке).
Remove(const T&) overrideУдаляет первое вхождение конкретного элемента из списка.
RemoveAll(Predicate<T>)Удаляет все элементы, соответствующие заданному предикату.
RemoveAt(int) overrideУдаляет элемент в указанной позиции.
RemoveRange(int, int)Удаляет срез списка.
rend()Получает обратный итератор для несуществующего элемента перед началом коллекции.
rend() constПолучает обратный итератор для несуществующего элемента перед началом const‑квалифицированной коллекции.
Reverse()Изменяет порядок элементов всего списка на обратный.
Reverse(int, int)Изменяет порядок элементов среза списка на обратный.
set_Capacity(int)Устанавливает ёмкость списка.
Sort(const SharedPtr<System::Collections::Generic::IComparer<T>>&)Сортирует элементы в списке.
Sort()Сортирует элементы в списке, используя компаратор по умолчанию.
Sort(int, int, SharedPtr<System::Collections::Generic::IComparer<T>>)Сортирует элементы в срезе списка.
Sort(Comparison<T>, bool)Сортирует элементы в списке.
ToArray() constПреобразует список в массив.
TrimExcess()Устанавливает ёмкость списка, соответствующую его размеру.
TrueForAll(System::Predicate<T>)Определяет, удовлетворяют ли все элементы коллекции условиям, определённым указанным предикатом.
virtualizeBeginConstIterator() const overrideПолучает реализацию константного итератора begin для текущего контейнера.
virtualizeBeginIterator() overrideПолучает реализацию итератора begin для текущего контейнера.
virtualizeEndConstIterator() const overrideПолучает реализацию константного итератора end для текущего контейнера.
virtualizeEndIterator() overrideПолучает реализацию итератора end для текущего контейнера.

Typedefs

Типовое определениеОписание
BaseTypeТип интерфейса.
const_iteratorТип константного итератора.
const_reverse_iteratorТип константного обратного итератора.
IEnumerablePtrКонтейнер, содержащий элементы одного типа, который мы используем.
IEnumeratorPtrТип Enumerator.
iteratorТип итератора.
reverse_iteratorТип обратного итератора.
ValueTypeЭтот тип.
vector_tИнформация RTTI.

Примечания

List - wrapper around std::vector to be used in translated code. Requires operator == to be impemented for element type. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

#include <system/collections/list.h>
#include <system/smart_ptr.h>

using namespace System;
using namespace System::Collections::Generic;

int main()
{
  // Создайте первый список.
  auto list1 = MakeObject<List<int>>();

  // Заполните первый список.
  list1->Add(3);
  list1->Add(1);
  list1->Add(-5);
  list1->Add(8);

  // Отсортируйте первый список.
  // Элементы первого списка будут: {-5, 1, 3, 8}
  list1->Sort();

  // Удалите элемент с индексом 2.
  // Элементы первого списка будут: {-5, 1, 8}
  list1->RemoveAt(2);

  // Вставьте элемент в индекс 1.
  // Элементы первого списка будут: {-5, 15, 1, 8}
  list1->Insert(1, 15);

  // Создайте второй список.
  auto list2 = MakeObject<List<int>>();

  // Заполните второй список.
  list2->Add(10);
  list2->Add(20);
  list2->Add(30);

  // Добавьте элементы из второго списка к первому.
  list1->AddRange(list2);

  // Выведите элементы первого списка.
  for (const auto item: list1)
  {
    std::cout << item << ' ';
  }

  return 0;
}
/*
This code example produces the following output:
-5 15 1 8 10 20 30
*/

См. также