Як використовувати класи - колекції arraylist, vector і hashmap надаються java collections

Як використовувати класи - колекції ArrayList, Vector і HashMap надаються Java Collections Framework

У цій статті, ми дізнаємося про три важливі класах - колекцій ArrayList. Vector і HashMap з Collections Framework і почнемо використовувати їх у власному коді.

Використовуючи класи - колекції ArrayList і Vector. ми можемо зберігати групу елементів, у вигляді простих об'єктів і маніпулювати ними, за допомогою різних методів, доступних в цих класах. Класи ArrayList і Vector доступні з пакеті java.util.
Інший клас - колекція доступний з пакета java.util. це HashMap. який дозволяє зберігати колекцію відображень: ключ - значення. Це дає можливість отримувати потрібне значення з колекції, коли відомий ключ. Давайте розглянемо приклади з використанням цих класів - колекцій по черзі.

Приклад 1. У цьому прикладі ми напишемо просту програму з використанням класу - колекції ArrayList
Лістинг 1. Код виконання прикладу 1

Запуск цієї програми призведе до наступного висновку:
Character 1: Harry
Character 2: Ron
Character 3: Hermione
Character 4: Snape
Character 5: Dumbledore
Character 6: Moody
Character 7: Riddle
Character 8: Fred

Character1: Harry
Character2: george
Character3: Ron
Character4: Hermione
Character5: Peter
Character6: Snape
Character7: Dumbledore
Character8: Moody
Character9: Riddle
Character10: Fred

Total No of Characters in Array: 8
Total No of Characters in List: 10

The position of the character Ron is 2

Total No of Characters in Array: 8
Total No of Characters in List: 8

The element Harry can not be removed
The element Dumbledore can not be removed
Давайте розберемо приклад наведеної програми, крок за кроком.

У цьому прикладі, в першому ж рядку програми, ми імпортуємо клас - колекцію ArrayList.

Потім, ми по черзі инициализируем масив рядків favouriteCharacters. що містить імена людей і favouritelist - екземпляр колекції ArrayList.

Метод includeCharacters (args) може бути умовно розділений на дві частини.
У першій частині методу, елементи додаються з масиву в колекцію за допомогою циклу. В цьому випадку, додавання елементів в ArrayList проводиться в тому ж самому порядку, в якому вони розташовані в масиві. Це відбувається тому, що ми не визначаємо жодних позицій для елементів, які додаються в колекцію.
Але в другій частині нашого методу, елементи додаються за допомогою індексації. В цьому випадку, додавання елементів в колекцію проводиться по точно зазначеної позиції. При додаванні нового елементу в середину колекції ArrayList. вже існуючі в цій колекції елементи, розташовані за вказаною позицією вставки нового елемента, зсуваються на наступні позиції від своїх власних, таким чином збільшуючи розмір колекції.

Коли ми поглянемо на висновок спочатку, ми побачимо:
Total No of Characters in List: 10
Total No of Characters in Array: 8

Все тому, що крім масиву, що має 8 елементів, які додаються в ArrayList. ми явно додаємо ще 2 елементи, таким чином збільшуючи розмір колекції до 10.

Метод getCharacterPosition (args) приймає значення елемента (ім'я людини) і виводить позицію цього елемента в колекції ArrayList. Якщо такого елемента немає в ArrayList. то виводиться значення -1.

Метод removeCharacter (args) видаляє вказане значення елемента (ім'я людини) з колекції, приймаючи в якості аргументу або індекс цього елемент, або сам елемент. У наведеному вище коді, ми можемо помітити, що розмір нашої колекції став дорівнює 8, замість 10, у зв'язку з тим, що ми видалили 2 елементи з колекції.
Якщо ж розміри масиву і колекції збігаються, то метод повертає наступні рядки:
The element Harry can not be removed
The element Dumbledore can not be removed

Виконання методу removeCharacter (args) обумовлено тільки тим, що розмір колекції повинен бути більше розміру масиву.

Приклад 2. У цьому прикладі ми напишемо просту програму з використанням класу - колекції Vector
Лістинг 2. Код виконання прикладі 2

Запуск цієї програми призведе до наступного висновку:
The characters are Weasley
The characters are Potter

Вищенаведений код, є всього лише невеликим зразком, наведеним в якості доказу того, що немає великої різниці між колекціями ArrayList і Vector. Колекцією Vector можна маніпулювати також, як і колекцією ArrayList. використовуючи ті ж методи.

Приклад 3. У цьому прикладі ми напишемо просту програму з використанням класу - колекції HashMap
Лістинг 3. Код виконання прикладу 3

Запуск цієї програми призведе до наступного висновку:
Author1: Enid Blyton Famous Five
Author2: R.L.Stine Goosebumps
The Information about the author of the book Robinson Crusueo is not available
Author4: Carolyn Keene Nancy Drew
Author5: Christopher Pike The Cell
Author6: Dan Brown The Davinci Code
Author7: J.K. Rowling Harry Potter

Давайте розберемо код програми наведеної вище, крок за кроком.

висновок:
У наведеній статті, ми трохи вивчили класи - колекції ArrayList. Vector. HashMap і спробували використовувати їх у власному коді.