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Получает итератор к первому const-qualified элементу коллекции.
cend() constПолучает итератор для несуществующего const-qualified элемента за концом коллекции.
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Получает итератор для несуществующего элемента за концом const-qualified коллекции.
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Получает обратный итератор к последнему элементу константной коллекции (первому в обратном порядке).
Remove(const T&) overrideУдаляет первое вхождение конкретного элемента из списка.
RemoveAll(Predicate<T>)Удаляет все элементы, соответствующие заданному предикату.
RemoveAt(int) overrideУдаляет элемент в указанной позиции.
RemoveRange(int, int)Удаляет срез списка.
rend()Получает обратный итератор для несуществующего элемента перед началом коллекции.
rend() 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Контейнер, содержащий элементы одного типа, который мы держим.
IEnumeratorPtrEnumerator тип.
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
*/

См. также