Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Массивы и коллекции

Содержание

Массивы и коллекции 14.11.2008Объектно-ориентированные технологии Коллекция – это объект содержащий в себе набор значений одного или нескольких типов. Основная задача коллекции хранить значения объектов и обеспечивать доступ к ним. Коллекции позволяют экономить при разработке программ так как
Arrays and collections14.11.2008Объектно-ориентированные технологииМассивы и коллекции Массивы и коллекции 14.11.2008Объектно-ориентированные технологии	Коллекция – это объект содержащий в себе набор Массивы14.11.2008Объектно-ориентированные технологии Класс Array14.11.2008Объектно-ориентированные технологииpublic abstract class Array : ICloneable, IList, ICollection, IEnumerable{ Методы и свойства класса Array 14.11.2008Объектно-ориентированные технологии	Статический метод Clear задаёт диапазон Одномерные массивы 14.11.2008Объектно-ориентированные технологии	Создание одномерного массива представляет из себя двухступенчатый процесс. Сначала Использование одномерного массива14.11.2008Объектно-ориентированные технологииclass Program{  static void Main()  { Многомерные массивы 14.11.2008Объектно-ориентированные технологии	Многомерные массивы отличаются от одномерных тем что они характеризуются Использование многомерного массива14.11.2008Объектно-ориентированные технологииclass Program{  static void Main()  { Рваные массивы 14.11.2008Объектно-ориентированные технологии	Рваные массивы похожи на многомерные массивы в том что Использование рваного массива14.11.2008Объектно-ориентированные технологииclass Program{  static void Main()  { Коллекции14.11.2008Объектно-ориентированные технологии Интерфейсы коллекций 14.11.2008Объектно-ориентированные технологии	Коллекции в FCL основанны на интерфейсах. Пространство имён System.Collections Интерфейсы IEnumerable и IEnumerator14.11.2008Объектно-ориентированные технологииpublic interface IEnumerable{  IEnumerator GetEnumerator();}public interface IEnumerator Интерфейс ICollection14.11.2008Объектно-ориентированные технологииpublic interface ICollection : IEnumerable{  int Count {get;} Интерфейс IList14.11.2008Объектно-ориентированные технологииpublic interface IList : ICollection, IEnumerable{  Object this [int Интерфейс IDictionary14.11.2008Объектно-ориентированные технологииpublic interface IDictionary : ICollection, IEnumerable{  object this [Object Коллекции 14.11.2008Объектно-ориентированные технологии	Пространство имён System.Collections содержит несколько конкретных классов коллекций таких как Класс Queue14.11.2008Объектно-ориентированные технологииpublic class Queue : ICollection, Ienumerable, ICloneable{  Object Dequeue(); Методы класса Queue 14.11.2008Объектно-ориентированные технологии	Метод Deque возвращает и удаляет элемент из Использование очереди14.11.2008Объектно-ориентированные технологииstatic void Main(){  Queue someQ = new Queue(); Класс Stack14.11.2008Объектно-ориентированные технологииpublic class Stack : ICollection, IEnumerable, ICloneable{  Object Peek(); Методы класса Stack 14.11.2008Объектно-ориентированные технологии	Метод Peek возвращает верхний элемент из стека Использование стека14.11.2008Объектно-ориентированные технологииstatic void Main(){  Stack someS = new Stack(); Класс ArrayList14.11.2008Объектно-ориентированные технологииpublic class ArrayList : IList, ICollection, IEnumerable, ICloneable{  public Методы и свойства класса ArrayList14.11.2008Объектно-ориентированные технологии	Метод Add добавляет элемент в конец Использование динамического массива14.11.2008Объектно-ориентированные технологииstatic void Main(){  ArrayList someAL = new ArrayList(); Класс Hashtable14.11.2008Объектно-ориентированные технологииpublic class Hashtable : IDictionary, ICollection, IEnumerable, ICloneable{  public Методы и свойства класса HashTable14.11.2008Объектно-ориентированные технологии	Метод Add добавляет пару ключ-значение в Использование хэш таблицы14.11.2008Объектно-ориентированные технологииstatic void Main(){  Hashtable someHT = new Hashtable();
Слайды презентации

Слайд 2 Массивы и коллекции
14.11.2008
Объектно-ориентированные технологии
Коллекция – это объект

Массивы и коллекции 14.11.2008Объектно-ориентированные технологии	Коллекция – это объект содержащий в себе

содержащий в себе набор значений одного или нескольких типов.

Основная задача коллекции хранить значения объектов и обеспечивать доступ к ним. Коллекции позволяют экономить при разработке программ так как предоставляют готовые решения для построения структур данных. Пространство имён System.Collections содержит классы и интерфейсы для коллекций.
Массив - это коллекция переменных одного типа обращение к которым происходит с помощью одного имени и разных индексов. Хранение данных в массиве организуется таким образом чтобы к ним было легко обращаться. Массивы являются ссылочными типами и наследуют общий класс System.Array. Выход за границы массива не разрешается в случае такой попытки генерируется IndexOutOfRangeException.

Слайд 3 Массивы
14.11.2008
Объектно-ориентированные технологии

Массивы14.11.2008Объектно-ориентированные технологии

Слайд 4 Класс Array
14.11.2008
Объектно-ориентированные технологии
public abstract class Array : ICloneable,

Класс Array14.11.2008Объектно-ориентированные технологииpublic abstract class Array : ICloneable, IList, ICollection, IEnumerable{

IList, ICollection, IEnumerable
{
public static void Clear(Array array,

int index, int length );
public static void Copy(Array sourceArray, int sourceIndex,
Array destinationArray, int destinationIndex, int length );
public static int BinarySearch(Array array, Object value );
public static void Reverse(Array array, int index, int length );
public static void Sort(Array array, int index, int length );

public int Length { get; }
public int Rank { get; }
};


Слайд 5 Методы и свойства класса Array
14.11.2008
Объектно-ориентированные технологии

Статический

Методы и свойства класса Array 14.11.2008Объектно-ориентированные технологии	Статический метод Clear задаёт

метод Clear задаёт диапазон элементов массива пустыми значениями.
Статический

метод Copy копирует диапазон элементов из одного массива в другой массив.
Статический метод BinarySearch выполняет поиск значения в отсортированном одномерном массиве используя алгоритм двоичного поиска.
Статический метод Reverse изменяет порядок элементов на обратный.
Статический метод Sort сортирует элементы в одномерном массиве.

Свойство Length возвращает число элементов в массиве.
Свойство Rank возвращает размерность массива.







Слайд 6 Одномерные массивы
14.11.2008
Объектно-ориентированные технологии
Создание одномерного массива представляет из

Одномерные массивы 14.11.2008Объектно-ориентированные технологии	Создание одномерного массива представляет из себя двухступенчатый процесс.

себя двухступенчатый процесс. Сначала объявляется ссылка на массив, после

чего под массив выделяется область памяти и переменной присваивается ссылка на эту область памяти. При объявлении ссылки на массив в отличии от С++ квадратные скобки находтся за именем типа а не за именем переменной. Обращение к элементам одномерного массива производится с использованием одного целого индекса. Все данные в одномерном массиве должны быть одного типа. Тип данных в одномерном массиве определяются при объявлении массива.


Слайд 7 Использование одномерного массива
14.11.2008
Объектно-ориентированные технологии
class Program
{
static void

Использование одномерного массива14.11.2008Объектно-ориентированные технологииclass Program{ static void Main() {  int[]

Main()
{
int[] numbers = new

int[10];
int average = 0;

numbers[0]=71; numbers[1]=99;
numbers[2]=42; numbers[3]=3;
numbers[4]=18; numbers[5]=45;
numbers[6]=33; numbers[7]=6;
numbers[8]=15; numbers[9]=64;

for(int i=0; i<10;i++)
{
average += numbers[i];
}
average /= 10;
Console.WriteLine("Среднее значение в массиве: {0}", average);
}
}


Слайд 8 Многомерные массивы
14.11.2008
Объектно-ориентированные технологии
Многомерные массивы отличаются от одномерных

Многомерные массивы 14.11.2008Объектно-ориентированные технологии	Многомерные массивы отличаются от одномерных тем что они

тем что они характеризуются двумя или более измерениями. Поэтому

обращение к элементам многомерного массива производится с использованием двух и более индексов. Все данные в многомерном массиве должны быть одного типа. Тип данных и количество измерений в многомерном массиве определяются при объявлении массива.

Слайд 9 Использование многомерного массива
14.11.2008
Объектно-ориентированные технологии
class Program
{
static void

Использование многомерного массива14.11.2008Объектно-ориентированные технологииclass Program{ static void Main() {  int[,]

Main()
{
int[,] numbers = new

int[3,3];
int average = 0;

numbers[0,0]=27; numbers[0,1]=88; numbers[0,2]=59;
numbers[1,0]=64; numbers[1,1]=17; numbers[1,2]=11;
numbers[2,0]=12; numbers[2,1]=93; numbers[2,2]=8;

for(int i=0; i<3;i++)
{
for(int j=0; j<3; j++)
{
average += numbers[i];
}
}
average /= 9;
Console.WriteLine("Среднее значение в массиве: {0}", average);
}
}


Слайд 10 Рваные массивы
14.11.2008
Объектно-ориентированные технологии
Рваные массивы похожи на многомерные

Рваные массивы 14.11.2008Объектно-ориентированные технологии	Рваные массивы похожи на многомерные массивы в том

массивы в том что они тоже многомерные. Основное отличие

заключается в том что рваные массивы это фактически массивы массивов. Отсюда следуют два важных факта. Диапазон допустимых индексов будет зависеть от значений предыдущих индексов. Данные в рваном массиве не обязаны быть одного типа они могут быть разными в зависимости от значений последовательности индексов за исключением последнего.
Как и для одномерных или многомерных массивах выход за границу допустимых значений для рваного массива не допускается разрешается в случае такой попытки генерируется IndexOutOfRangeException.


Слайд 11 Использование рваного массива
14.11.2008
Объектно-ориентированные технологии
class Program
{
static void

Использование рваного массива14.11.2008Объектно-ориентированные технологииclass Program{ static void Main() {  int[][]

Main()
{
int[][] numbers = new

int[3][];
int average = 0;
numbers[0] = new int[3];
numbers[1] = new int[1];
numbers[2] = new int[2];
numbers[0][0]=91; numbers[0][1]=25; numbers[0][2]=15;
numbers[1][0]=36;
numbers[2][0]=17; numbers[2][1]=11;
for(int i=0; i<3;i++)
{
for(int j=0; j {
average += numbers[i];
}
}
average /= 6;
Console.WriteLine("Среднее значение в массиве: {0}", average);
}
}

Слайд 12 Коллекции
14.11.2008
Объектно-ориентированные технологии

Коллекции14.11.2008Объектно-ориентированные технологии

Слайд 13 Интерфейсы коллекций
14.11.2008
Объектно-ориентированные технологии
Коллекции в FCL основанны на

Интерфейсы коллекций 14.11.2008Объектно-ориентированные технологии	Коллекции в FCL основанны на интерфейсах. Пространство имён

интерфейсах. Пространство имён System.Collections содержит несколько таких интерфейсов включая

IEnumerable, IEnumerator, ICollection, IList, IDictionary.
Интерфейс ICollection является самым примитивным интерфейсом. Он определяет поведение которое должны поддерживать все коллекции. Например все коллекции должны поддерживать свойство возвращающее количество элементов в коллекции.
Интерфейс IList определяет поведение которое должны поддерживать списки то есть коллекции доступ к элементам которой возможен с помощью индекса.
Интерфейс IDictionary определяет поведение коллекций хранящих пары ключ-значение.
Интерфейсы IEnumerable и IEnumerator определяет поведение необходимое для поэлементного доступа к содержимому коллекции с помощью цикла foreach.

Слайд 14 Интерфейсы IEnumerable и IEnumerator
14.11.2008
Объектно-ориентированные технологии
public interface IEnumerable
{

Интерфейсы IEnumerable и IEnumerator14.11.2008Объектно-ориентированные технологииpublic interface IEnumerable{ IEnumerator GetEnumerator();}public interface IEnumerator

IEnumerator GetEnumerator();
}
public interface IEnumerator
{
bool MoveNext(); //

сдвинуть курсор
object Current {get;} // достать текущий элемент
void Reset(); // установить курсор перед первым элементом
}


Слайд 15 Интерфейс ICollection
14.11.2008
Объектно-ориентированные технологии
public interface ICollection : IEnumerable
{

Интерфейс ICollection14.11.2008Объектно-ориентированные технологииpublic interface ICollection : IEnumerable{ int Count {get;} bool

int Count {get;}
bool IsSynchronized();
object SybcRoot

{get;}
void CopyTo(Array array, int index);
}

Слайд 16 Интерфейс IList
14.11.2008
Объектно-ориентированные технологии
public interface IList : ICollection, IEnumerable
{

Интерфейс IList14.11.2008Объектно-ориентированные технологииpublic interface IList : ICollection, IEnumerable{ Object this [int

Object this [int index] {get; set;}

int Add(Object value);
void Clear();
bool Contains(Object value);
int IndexOf(Object value);
void Insert(int index, Object value);
void Remove(Object value);
void RemoveAt(int index);

bool IsFixedSize {get;}
bool IsReadOnly {get;}
}

Слайд 17 Интерфейс IDictionary
14.11.2008
Объектно-ориентированные технологии
public interface IDictionary : ICollection, IEnumerable
{

Интерфейс IDictionary14.11.2008Объектно-ориентированные технологииpublic interface IDictionary : ICollection, IEnumerable{ object this [Object

object this [Object key] {get; set;}

ICollection Keys {get;}
ICollection Values {get;}
void Add(Object key, Object value);
void Clear();
bool Contains(Object key);
IDictionaryEnumerator GetEnumerator();
void Remove(Object key);

bool IsFixedSize {get;}
bool IsReadOnly {get;}
}

public interface IDictionaryEnumerator : IEnumerator
{
DictionaryEntry Entry {get;}
object Key {get;}
object Value {get;}
}


Слайд 18 Коллекции
14.11.2008
Объектно-ориентированные технологии
Пространство имён System.Collections содержит несколько конкретных

Коллекции 14.11.2008Объектно-ориентированные технологии	Пространство имён System.Collections содержит несколько конкретных классов коллекций таких

классов коллекций таких как Queue, Stack, ArrayList, SortedList и

HashTable реализующих несколько из интерфейсов IEnumerable, ICollection, IList, IDictionary.
Реализация интерфейсов в конкретных классах очень сильно отличается. Несмотря на это наборы действий которые можно выполнять над этими коллекциями во многом совпадают. Все они поддерживают набор элементов которые можно перечислять и все они поддерживают добавление и удаление элементов.


Слайд 19 Класс Queue
14.11.2008
Объектно-ориентированные технологии
public class Queue : ICollection, Ienumerable,

Класс Queue14.11.2008Объектно-ориентированные технологииpublic class Queue : ICollection, Ienumerable, ICloneable{ Object Dequeue(); void Enqueue(Object); Object Peek();}

ICloneable
{
Object Dequeue();
void Enqueue(Object);
Object

Peek();
}

Слайд 20 Методы класса Queue
14.11.2008
Объектно-ориентированные технологии

Метод Deque возвращает

Методы класса Queue 14.11.2008Объектно-ориентированные технологии	Метод Deque возвращает и удаляет элемент

и удаляет элемент из начала очереди.
Метод Enqueue добавляет

элемент в конец очереди.
Метод Peek возвращает элемент из начала очереди не удаляя его.







Слайд 21 Использование очереди
14.11.2008
Объектно-ориентированные технологии
static void Main()
{
Queue someQ

Использование очереди14.11.2008Объектно-ориентированные технологииstatic void Main(){ Queue someQ = new Queue();

= new Queue();

someQ.Enqueue("Первый добавленный");

someQ.Enqueue("Второй добавленный ");
someQ.Enqueue("Третий добавленный ");

Console.WriteLine("Первый элемент: {0}", someQ.Peek());

Console.WriteLine("Первый элемент: {0}", someQ.Dequeue());
Console.WriteLine("Второй элемент: {0}", someQ.Dequeue());
Console.WriteLine("Третий элемент: {0}", someQ.Dequeue());

try
{
Console.WriteLine("Четвёртый элемент: {0}", someQ.Dequeue());
}
catch(InvalidOperationException)
{
Console.WriteLine("А четвёртого элемента в очереди нет!");
}

}

Слайд 22 Класс Stack
14.11.2008
Объектно-ориентированные технологии
public class Stack : ICollection, IEnumerable,

Класс Stack14.11.2008Объектно-ориентированные технологииpublic class Stack : ICollection, IEnumerable, ICloneable{ Object Peek(); Object Pop(); void Push(Object);}

ICloneable
{
Object Peek();
Object Pop();
void

Push(Object);
}

Слайд 23 Методы класса Stack
14.11.2008
Объектно-ориентированные технологии

Метод Peek возвращает

Методы класса Stack 14.11.2008Объектно-ориентированные технологии	Метод Peek возвращает верхний элемент из

верхний элемент из стека не удаляя его.
Метод Pop

возвращает и удаляет верхний элемент стека.
Метод Push добавляет верхний элемент в стек.








Слайд 24 Использование стека
14.11.2008
Объектно-ориентированные технологии
static void Main()
{
Stack someS

Использование стека14.11.2008Объектно-ориентированные технологииstatic void Main(){ Stack someS = new Stack();

= new Stack();

someS.Push("Первый добавленный");

someS.Push("Второй добавленный");
someS.Push("Третий добавленный");

Console.WriteLine("Первый элемент: {0}", someS.Peek());

Console.WriteLine("Первый элемент: {0}", someS.Pop());
Console.WriteLine("Второй элемент: {0}", someS.Pop());
Console.WriteLine("Третий элемент: {0}", someS.Pop());

try
{
Console.WriteLine("Четвёртый элемент: {0}", someS.Pop());
}
catch(InvalidOperationException)
{
Console.WriteLine("А четвёртого элемента в стеке нет!");
}

}

Слайд 25 Класс ArrayList
14.11.2008
Объектно-ориентированные технологии
public class ArrayList : IList, ICollection,

Класс ArrayList14.11.2008Объектно-ориентированные технологииpublic class ArrayList : IList, ICollection, IEnumerable, ICloneable{ public

IEnumerable, ICloneable
{
public virtual int Add(Object value);

public virtual bool Contains(Object item);
public virtual int IndexOf(Object value);
public virtual void Insert(int index, Object value);
public virtual void Remove(Object obj);
public virtual void RemoveAt(int index);

public virtual int Capacity { get; set; }
public virtual int Count { get; }
public virtual Object Item[ int index ] { get; set; }
}

Слайд 26 Методы и свойства класса ArrayList
14.11.2008
Объектно-ориентированные технологии

Метод Add

Методы и свойства класса ArrayList14.11.2008Объектно-ориентированные технологии	Метод Add добавляет элемент в

добавляет элемент в конец динамического массива.
Метод Contains определяет содержит

ли динамический массив указанное значение.
Метод IndexOf возвращает индекс первого вхождения значения.
Метод Insert вставляет элемент в динамический массив по указанному индексу.
Метод Remove удаляет первое вхождение указанного значения из динамического массива.
Метод RemoveAt удаляет элемент с указанным индексом из динамического массива.

Свойство Capacity позволяет получать и задавать ёмкость динамического массива.
Свойство Count возвращает количество элементов в динамическом массиве.

Индексатор позволяет по индексу получать и изменять значение.








Слайд 27 Использование динамического массива
14.11.2008
Объектно-ориентированные технологии
static void Main()
{
ArrayList

Использование динамического массива14.11.2008Объектно-ориентированные технологииstatic void Main(){ ArrayList someAL = new ArrayList();

someAL = new ArrayList();

Console.WriteLine("Количество элементов

после создания: {0}", someAL.Count);
Console.WriteLine("Вместимость после создания: {0}", someAL.Capacity);

someAL.Add("Первый добавленный");
someAL.Add("Второй добавленный ");
someAL.Add("Третий добавленный ");

Console.WriteLine("Количество элементов после добавления: {0}", someAL.Count);
Console.WriteLine("Вместимость после добавления: {0}", someAL.Capacity);

for(int i=0; i {
Console.WriteLine("{0}ый элемент: {1}",i ,someAL[i]);
}

}

Слайд 28 Класс Hashtable
14.11.2008
Объектно-ориентированные технологии
public class Hashtable : IDictionary, ICollection,

Класс Hashtable14.11.2008Объектно-ориентированные технологииpublic class Hashtable : IDictionary, ICollection, IEnumerable, ICloneable{ public

IEnumerable, ICloneable
{
public virtual void Add(Object key, Object

value);
public virtual void Clear();
public virtual bool ContainsKey(Object key);
public virtual bool ContainsValue(Object value);
public virtual void Remove(Object key);

public virtual Object Item[Object key] { get; set; }
public virtual ICollection Keys { get; }
public virtual ICollection Values { get; }
}

Слайд 29 Методы и свойства класса HashTable
14.11.2008
Объектно-ориентированные технологии

Метод Add

Методы и свойства класса HashTable14.11.2008Объектно-ориентированные технологии	Метод Add добавляет пару ключ-значение

добавляет пару ключ-значение в хэш таблицу.
Метод Clear удаляет все

элементы из хэш таблицы.
Метод ContainsKey определяет содержит ли хэш таблица указанный ключ.
Метод ContainsValue определяет содержит ли хэш таблица указанное значение.
Метод Remove удаляет пару ключ-значение с указанным ключом из хэш таблицы.


Свойства Keys и Values возвращают коллекции ключей и значений для всех пар содержащихся в хэш таблице.

Индексатор позволяет по ключу получать и изменять значение.








  • Имя файла: massivy-i-kollektsii.pptx
  • Количество просмотров: 132
  • Количество скачиваний: 0
- Предыдущая Tom Sawyer
Следующая - Разделочная доска