Закрытые, защищенные и открытые поля
При объявлении полей так, как показано выше, мы можем решить, должны ли другие классы иметь доступ к ним или нет. Иногда очень важно делать поля закрытыми (private), например потому что другой класс может помещать неверные значения в поля и нарушать работу программы. Использование полей «private», «protected» и «public» означает насколько безопасным будет наш класс.
Вы может поинтересоваться, а что если мы не станем включать эти слова. В этом случае компьютер молча воспринимает код, как если бы в начале объявления было написано слово «private», поскольку «private» задается по умолчанию. Поэтому поле hasTail автоматически становится закрытым (private).
Что означают эти слова?
Private означает, что «объекты только этого класса могут обращаться к данному полю»
Public означает, что «объекты любого класса могут обращаться к этому полю»
Protected означает, что «только объекты тесно связанных классов могут обращаться к полю»
Массив ArrayList
Для работы с контейнерами необходимо подключить пространство имен System.Collections:
В массив ArrayList в отличие от обычного массива, можно записывать данные любого типа.
Создание массива
Массив ArrayListсоздается при помощи конструктора
Пример 1:
ArrayList myList = new ArrayList();
Здесь мы не указываем начальную длину массива, по умолчанию она равна 16.
Пример 2:
ArrayList myList = new ArrayList()10;
В данном примере начальный размер массива равен 10.
Преимущество массива ArrayList состоит в том, что не нужно беспокоиться о размере массива, по мере добавления элементов размер будет увеличиваться автоматически.
Пример 3:
ArrayList myList = new ArrayList();
ArrayList myList1 = new ArrayList(myList);
Здесь мы создали новый массив на основе уже существующего.
Добавление элементов в массив
Для добавления элементов в массив ArrayList преднозначен метод Add. После добавления метод Add возвращает индекс нового элемента.
Пример:
ArrayList myList = new ArrayList();
myList.Add(“Hello ”);
myList.Add(“C# ”);
myList.Add(“World”);
myList.Add(“!”);
Чтение элементов из массива
Для чтения элементов нам понадобится метод Count – определяет размер массива.
For (int i=0; i<myList.count; i++)
{
System.Console.WriteLine(“{0}”,myList[i]);
}
При помощи данной конструкции мы выведем все элементы массива на экран.
Изменение элементов массива
Для начала обратим внимание на следующее. Сначала элементы должны быть добавлены при помощи метода Add, а только после можно менять их. А после изменяют элементы при помощи задания индекса в квадратных скобках
Например:
ArrayList myList = new ArrayList();
myList.Add(“Hello ”);
myList.Add(“C# ”);
myList.Add(“World”);
myList.Add(“!”);
//создали массив
myList[0]=”Привет”;
//Теперь вместо слова Hello в первой ячейке будет слово Привет.
Удаление элементов из массива
Для удаления элементов из массива используется несколько методов:
МетодClearудаляет все элементы из массива. (myList.Clear)
Метод Remowe удаляет из массива заданный элемент (myList.Remowe(“Hello”) – удалит из массива ячейку со словом Hello)
Метод RemoweAt удаляет элемент по индексу (myList.RemoweAt(2) – удалит элемент с индексом равным 2)
Метод RemoweRange удаляет диапазон элементов расположенных рядом (myList.RemoweRange(1,2) – удалит элементы с индексами от 1 до 2);
Сортировка
Для сортировки используется несколько перегруженных методов Sort.
Пример:
ArrayList myList= new ArrayList();
myList.Add(“Каждый”);
myList.Add(“Охотник”);
myList.Add(“Желает”);
myList.Add(“Знать”);
myList.Add(“Где”);
myList.Add(“Сидит”);
myList.Add(“Фазан”);
myList.Sort();
for (i=0; i<myList.Count; i++)
{
System.Console.Writeln(“{0}”, myList[i]);
}
System.Console.ReadLine();
Проверьте что получится после выполнения программы:
“Где желает знать каждый охотник сидит фазан”
Обратное расположение элементов
Для изменения расположения элементов на обратное используется метод Rewerse
Поиск в массиве
В массивах чаще всего используется метод бинарного поиска BinarySearch. В качестве параметра этому методу нужно передать искомый элемент. При успехе метод вернет индекс найденного элемента, а в том случае, если элемент не найден, - отрицательное значение.
Пример:
ArrayList myList= new ArrayList();
myList.Add(“Каждый”);
myList.Add(“Охотник”);
myList.Add(“Желает”);
myList.Add(“Знать”);
myList.Add(“Где”);
myList.Add(“Сидит”);
myList.Add(“Фазан”);
myList.Sort();
String search=”Сидит”;
Int index=myList.BinarySearch(search);
System.Console. Writeln(index);