Рубрики
Без рубрики

Немного о массивах, ArrayList, LinkedList и Hashmap

Когда я впервые изучил Java, я исходил из опыта работы с JavaScript. Мне казалось, что я нахожусь в дикой природе… С пометкой java, новички.

Когда я впервые изучил Java, я исходил из опыта работы с JavaScript. Мне казалось, что я нахожусь на диком западе с JavaScript. Он динамически типизирован, поэтому я могу иметь переменную одного типа данных и изменять ее, когда захочу. Я мог бы начать создавать функцию, не зная, каким будет результат, и просто выяснить это или изменить по прихоти. Java сразу же положила этому конец. Java – это статический типизированный язык. Всякий раз, когда мы определяем переменную или метод, мы должны точно знать, что это за тип данных, иначе наша программа даже не будет компилироваться. Знание того, какие типы данных и как ими управлять в Java, имеет решающее значение для того, чтобы быть разработчиком Java. Эта статья посвящена массивам, списку массивов, списку ссылок и хэш-карте. Я кратко расскажу о том, что это такое и как они работают, и приведу небольшой пример того, как это выглядит.

Массивы

Массивы – это объект, который позволяет хранить коллекцию упорядоченных значений (элементов) в одной переменной. Массивы в Java имеют заданный размер. Это отличается от того, как работает массив в JavaScript. Когда вы создаете свой массив, вы должны знать, сколько элементов вы хотите и каким типом данных будут эти элементы. Вы не можете добавлять элементы в массив. Вы можете только изменять их. Если вы создаете массив из 5 элементов, вы не можете добавлять шесть. Вам придется либо заменить элемент новым 6-м, либо создать новый массив из 6 элементов.

Поскольку элементы в массиве упорядочены, вы можете получить к ним доступ по номеру индекса. Номер индекса – это позиция элемента в массиве. важный: Массивы начинаются с индекса 0. Если вы хотите получить доступ к первому элементу массива, индекс будет [0] нет [1] . Чтобы изменить элемент массива, вы можете получить доступ к элементу и установить его равным новому значению.

Они отлично подходят для использования, когда у вас есть заранее определенное количество значений и вам необходимо получить доступ к случайным элементам по всему массиву.

class Main {
    public static void main(String args[]) {
        // creating an array of strings called dogs. This creates a new array with two elements.
        String[] dogs = {"Ada", "Taz"};
        // This changes the value of the first element "Ada" to "Snoopy"
        dogs[0]="Snoopy";
        //You can also create an array without having the values. This will create an array with 4 elements.
        int[] randomNums = new int[4];
    }
}

Список массивов

Списки массивов очень похожи на массивы. Список массивов – это массив с возможностью изменения размера. Это означает, что вы можете добавлять или удалять элементы. Список массивов на самом деле содержит обычный массив, который мы обсуждали ранее. Когда вы добавляете элемент в список массивов, он проверяет, есть ли в массиве место для этого элемента. Если места недостаточно, он создаст новый массив с новым размером и удалит старый. Это делается за кулисами, но это важно знать.

Чтобы использовать список массивов, вы должны импортировать java.util. Список массивов; Это даст вам доступ к различным методам, которые поставляются с ArrayList. важный: Элементы в списке массивов являются объектами. Если вы хотите создать список массивов примитивного типа данных, вам нужно будет использовать класс-оболочку. <Логическое значение> |/<Символ> <Целое число> и т.д.

Списки массивов отлично подходят для сортировки и доступа к данным. Если вам нужно получить доступ к случайным элементам внутри массива, и размер массива может измениться, ArrayList – отличный вариант.

import java.util.ArrayList;

class Main {
    public static void main(String args[]) {
    //Creates an empty ArrayList of data type Strings
        ArrayList dogs = new ArrayList();
    // Add elements to the newly created ArrayList
        dogs.add("Ada");
        dogs.add("Taz");
        dogs.add("Snoopy");
    //removes("the element at index 2")
        dogs.remove(2);
    //prints out the first element of the ArrayList dogs
        System.out.println(dogs.get(0));
    }
}

Связанный список

Связанный список очень похож на список массивов. Вы можете заметить Список в конце названия. Это связано с тем, что они оба реализуют интерфейс списка. Это дает им множество одинаковых характеристик и методов. Что отличает LinkedList от других, так это то, как они построены. Помните, как список массивов содержит массив и будет создавать и удалять массив по мере необходимости. Связанный список хранит свои элементы в “контейнерах”. Этот “контейнер” содержит ваш элемент. Когда вы добавляете новые элементы, он создает новый “контейнер” и связывает его с другим “контейнером” в Связанном списке. Вот откуда он получил свое название. Учитывая характер их работы, более эффективно использовать LinkedList, когда вам нужен доступ к первому или последнему элементу массива.

Чтобы использовать связанный список, вы должны импортировать java.util. Связанный список'

import java.util.LinkedList;

class Main {
    public static void main(String args[]) {
        //This creates a new LinkedList of Strings that is empty
        LinkedList dogs = new LinkedList();
        //This adds new elements to our LinkedList
        dogs.add("Ada");
        dogs.add("Taz");
        dogs.add("Snoopy");
        //This removes the last element of our LinkedList
        dogs.removeLast();
        //Both lines will print the first element of our LinkedList
        System.out.println(dogs.get(0));
        System.out.println(dogs.getFirst());
    }
}

Хэш-карта

Хэш-карты немного отличаются от того, о чем мы говорили раньше. Хэш-карту можно рассматривать как ключ значение пары. Раньше, когда мы чего-то хотели, мы получали это, называя его индекс. Хэш-карты не используют индекс для получения значений, как это делают массивы. Чтобы получить значение из хэш-карты, вы получаете доступ к ней по ключу, связанному с этим значением. В хэш-карте могут быть разные типы данных для ключей и значений. Это означает, что у вас может быть строковый ключ и значение int если бы ты захотел. Хэш-карты могут упростить и ускорить доступ к определенным значениям.

Чтобы использовать хэш-карты, вы должны импортировать java.util. Хэш-карта; При создании хэш-карты мы передаем тип данных как ключа, так и значения внутри <ключ, значение> . Это объекты, поэтому нам нужно будет использовать соответствующие оболочки для примитивных типов данных. Первый передаваемый объект будет типом данных ключа, а второй – типом данных значения.

import java.util.HashMap;

class Main {
    public static void main(String args[]) {
        //creates a HashMap called studentGrades that have a key that is a string and a value that is a char
        HashMap studentGrades = new HashMap();
        //adding to HashMap
        studentGrades.put("Tripp White", 'A');
        studentGrades.put("Class Clown", 'F');
        studentGrades.put("Teachers Pet", 'C');

        //changes the Teachers Pet to an A for good behavor ; )
        studentGrades.replace("Teachers Pet", 'A');


        //prints out the value of "Teachers Pet" key in the studentGrades HashMap
        System.out.println(studentGrades.get("Teachers Pet"));
    }
}

Это основная схема массивов, списка массивов, списка ссылок и хэш-карты. Я надеюсь, что это поможет вам понять Java и создать несколько отличных приложений. Как всегда, ознакомьтесь с документацией для получения полного описания и множества методов, которые можно использовать с каждым из них.

Оригинал: “https://dev.to/turpp/a-little-about-arrays-arraylist-linkedlist-and-hashmaps-47i3”