Класс 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
*/

См. также