Категории:

  • Программирование


  • Изобразительное искусство


  • Программирование встраиваемых систем


  • Компьютерная графика


  • WEB Разработка


  • Музыка


  • Инженерия


  • iVARIOUS


  • Mobil App


  • Java. Списки ArrayList и LinkedList

    ArrayList и LinkedList представляет собой отдельный класс , моделирующий работу массива , вернее сказать интерфейс как у массива но с более расширенными функциями записью/чтением данных и управлением памятью. Основная проблема массивов заключается в их статичности, невозможно изменить размер массива, добавить или удалить его элементы. Поэтому при проектирование приложений приходилось угадывать размер массивов, что приводило к нерациональному потреблению памяти. Все эти проблемы решает класс ArrayList. При его объявление отпадает надобность указывать размер ArrayList, а только тип хранимого содержимого:


    ArrayList <String> name = new ArrayList<String>();// объявление

    int n = name.size(); //количество элементов

    String str = name.get(3); // Чтение третьего элемента, эквивалент array[3];

    name.set(9, str); // Запись в девятый элемент

    name.add(str); // Добавит строку в конец списка

    name.add(9, s); // Добавит строку после 9 элемента

    name.add(0, s); // Добавит строку в начало списка

    name .remove(6);// Удаление 6-го элемента


    Единственное, что следует не путать:
    name.set(9, str) - записывает в уже существующий 9 элемент .
    name.add(9, str) - вставляет новый элемент, в результате чего увеличивается размер списка ArrayList.
    ArrayList <String> name = new ArrayList<String>();

    String a = "str-1";
    String b = "str-2";
    String c = "str-3";


    name.add(a);
    name.add(b);
    name.add(c);


    for(int i=0; i < name.size(); i++){
    System.out.println(name.get(i));
    }


    Подобный интерфейс имеет также и LinkedList.
    Конечно можно и самому придумать стандартными командами подобный интерфейс управления элементами и памятью, чтоб добится желаемого эффекта, но не стоит придумывать велосипед заново.

    Читайте больше в категории: Программирование

    2016-04-13 12:50:50



    Другие статьи:

    Некоторые особенности разработки. Заключение

    Ужгородський Кафедральний Собор в 19 ст. ( 3D )

    JavaScript. Создание простой Галереи изображений

    STM32. DMA controller

    WinAPI. Введение.

    Java. Графики функций - продолжение

    PHP. Загрузка файлов. $_POST

    Android. Thread - потоки

    Инженерия

    Maya. Bevel и полезные функции