|
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 75
|
||||||
Работа с ArrayList31.01.2014, 23:29. Показов 2907. Ответов 9
Метки нет (Все метки)
Здравствуйте.
Интересует вопрос, как можно показать реализацию метода RemoveAt из класса ArrayList. Он удаляет по индексу элемент массива.
Заранее благодарю за ответ.
0
|
||||||
| 31.01.2014, 23:29 | |
|
Ответы с готовыми решениями:
9
В классе Use объявить ArrayList и добавить в каждый элемент ArrayList ID, Name, Text, Song ArrayList: необработанное исключение. Операции над множествами с использованием ArrayList Ошибка в многопоточном коде (работа с массивом ArrayList) |
|
|
||
| 31.01.2014, 23:38 | ||
|
Количество элементов, которые вы добавили 4, удалили 2, осталось 2. Получите и распишитесь. никакого элемента с индексом 4 нет, и не может быть.
0
|
||
|
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 75
|
|
| 31.01.2014, 23:39 [ТС] | |
|
Ну это я понимаю, почему arr.Capacity = 8 ??
0
|
|
|
|
||||
| 31.01.2014, 23:52 | ||||
http://msdn.microsoft.com/ru-r... .110).aspx
0
|
||||
|
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 75
|
||||||
| 01.02.2014, 01:10 [ТС] | ||||||
|
Всеравно не понятно зачем нужно arr.Capacity, можно и Count обойтись. Другое дело если бы arr.Capacity отражало размер динамического массива, а так получает Capacity увеличивается когда размер массива увеличивается, но не уменьшается в противоположном случае... но вопрос не в этом, мне нужно написать аналог RemoveAt, а в нем получается элемент удали, но размер массива оставь прежним. Ну это я сделал, но когда я пользуюсь методом RemoveAt из .NetFramework, то там при обращении к удаленному элементу вызывается исключение (arr[4]), а вот у меня так не выходит.
0
|
||||||
|
|
|
| 01.02.2014, 01:17 | |
|
Мне не совсем понятно, что Вы хотите получить от этого типа массивов. Вы бы почитали по ссылке, глядишь и вопросы отпадут.
Capaсity - это емкость массива, которая увеличивается динамически (но сама по себе она уменьшится уже не может). К примеру, вы добавляете в массив 5 элементов. Его емкость становиться равна 8 (минимальный размер блока). Добавили еще 4, что превысило минимальный размер (8). Значит, массив увеличился еще на размер блока и его емкость стала равна 16. И так далее. А вот свойство Count - это как раз число элементов, которые в нем фактически содержатся (аналог Length у обычного массива). Что-то еще не понятно?
0
|
|
|
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 75
|
|
| 01.02.2014, 01:26 [ТС] | |
|
Минимальный размер блока - 4.
С этим понятно. Добавил 5 элементов в массив, потом удалил 1. Count = 4, Capacity = 8. Обратился к удаленному array[4], получил исключение IndexOutOfRangeException(). Выходит Capacity не размер массива, а что, так как нельзя обратится к индексу array[4]. Вопрос как написать самому метод RemoveAt, что бы он вот так работал. Читаю книгу Algorithms and Data Structures by Robert Horvick. Реализация метода что выше от туда, но она не работает правельно ....
0
|
|
|
|
||
| 01.02.2014, 01:31 | ||
|
Как-то так. Читайте литературу, в книгах все это есть.
0
|
||
|
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 75
|
|
| 01.02.2014, 01:44 [ТС] | |
|
Ну я практически проверял, создал массив на 2 элемента - Capacity стал равен 4. При увеличении значение удваивается.
0
|
|
|
Master of Orion
|
||||||
| 01.02.2014, 12:41 | ||||||
И да, юзайте Generics.
0
|
||||||
| 01.02.2014, 12:41 | |
|
Помогаю со студенческими работами здесь
10
ArrayList.Contains ArrayList ArrayList Коллекция ArrayList вывод из ArrayList Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|