Сборники
В Java коллекция – это класс, основной целью которого является хранение коллекции (или группы) других элементов. Это может быть группа целых чисел, строк, логических значений, объектов и т.д.
Коллекции делятся на 3 основные группы: Набор, Список и карта.
Набор
Неупорядоченная группа элементов, каждый из которых. элемент в коллекции уникален:
import java.util.HashSet;
public class Solution {
public static void main(String[] args) throws Exception {
HashSet set = new HashSet();
set.add("watermelon");
set.add("banana");
set.add("cherry");
set.add("pear");
set.add("cantaloupe");
set.add("blackberry");
set.add("ginseng");
set.add("strawberry");
set.add("iris");
set.add("potato");
for(String word: set){
System.out.println(word);
}
}
}
Несмотря на то, что порядок добавленных строк является:
- арбуз
- банан
- вишня
- груша
- мускусная дыня
- ежевика
- женьшень
- клубника
- ирис
- картофель
Когда метод System.out.println вызывается для каждого элемента в наборе (используя a для каждого сокращения), это порядок, в котором печатаются слова:
banana cherry pear iris blackberry ginseng potato strawberry watermelon cantaloupe
Порядок здесь другой.
Списки
В списке каждый элемент упорядочен по индексу. (Знакомым примером списка является массив). Поскольку каждый элемент связан с числом, это упорядоченная коллекция, и можно получить доступ к определенному элементу, если знать правильный индекс. Это похоже на поиск вашего друга, когда у вас есть его адрес, гораздо легче найти его, когда у вас есть эта информация, которая определяет его местоположение.
import java.util.List;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws Exception {
ArrayList list = new ArrayList();
list.add("Hello World");
list.add("Goodbye Mars");
list.add("Salutations Venus");
for(String word: list){
System.out.println(list.indexOf(word) + ":" + word);
}
}
}
Результатом приведенного выше кода является:
0:Hello World 1:Goodbye Mars 2:Salutations Venus
Карты
Карты представляют собой группу пар ключ-значение. В отличие от списков, в которых каждый элемент идентифицируется целым числом, начинающимся с нуля, карты могут быть идентифицированы по имени. В maps каждый ключ должен быть уникальным, но значения не обязательно должны быть уникальными.
import java.util.HashMap;
import java.util.Map;
public class Solution {
public static void main(String[] args) throws Exception {
HashMap map = new HashMap();
map.put("K-Drama", "This is my first life");
map.put("Drama", "Start Up");
map.put("Anime", "One Piece");
map.put("Comedy", "Grownish");
map.put("Animation", "Bob's Burgers");
map.put("Romance", "Pride and Prejudice");
for(Map.Entry pair: map.entrySet()){
String key = pair.getKey();
String value = pair.getValue();
System.out.println(key + " : " + value);
}
}
}
Результатом приведенного выше кода является:
Anime : One Piece Drama : Start Up K-Drama : This is my first life Animation : Bob's Burgers Romance : Pride and Prejudice Comedy : Grownish
Бонус:
В трех приведенных выше примерах используется следующий синтаксис:
for(String text: set){
System.out.println(text);
}
Это сокращение Java для итерации по коллекциям. Это позволяет нам перебирать эти группы элементов с помощью неявного итератора. Более длинная версия этого выглядит следующим образом”
Iteratoriterator = set.iterator(); while(iterator.hasNext()) // Check if there is another element { //Get the current element and move to the next line String text = iterator.next(); System.out.println(text); }
Оригинал: “https://dev.to/mobolanleadebesin/collections-in-java-5d3g”