пакет com.ds.алгоритмы.список массивов;
/**
- @Автор панкай
- @@create 4/10/21 6:37 вечера Зачем использовать ArrayList: это массив с изменяемым размером, также называемый динамическим массивом (Растущий массив/массив с изменяемым размером). Он увеличивает свой размер для размещения новых элементов и уменьшает размер при удалении элементов. —>ArrayList внутренне использует массив для хранения элементов. Как и массивы, он позволяет извлекать элементы по их индексу ArrayList – это класс реализации для интерфейса списка. Дополнение к списку:
- допускаются дубликаты.
- Порядок вставки сохраняется. то, как вы собираетесь вставлять элементы, будет отображаться так же, как и ваш элемент
- емкость ArrayList по умолчанию составляет 10
- Формула для роста*3/2+1 до java 1.6
- Как только будет создан новый список массивов, более старый список массивов будет иметь право на сборку
- вставка нуля возможна во ВСЕХ
- допускаются однородные элементы ПРИМЕЧАНИЕ: НАЗНАЧЕНИЕ ArrayList – Динамический массив/Массив с возможностью увеличения/массив с возможностью изменения размера ————- Когда использовать ArrayList ———————-
- ArrayList – плохой выбор для вставки/удаления элемента в середине AL, потому что для смещения элемента Noe потребуется больше времени: Если у вас частая операция вставки/удаления в середине списка, лучше всего использовать LL вместо AL 2.. Если ваша частая операция – операция извлечения, то ArrayList – лучший выбор.
- Класс ArrayList и Vector реализует интерфейс RandomAccess, помогает извлекать элемент за постоянное время O(1) независимо от примечания индекса: Случайный интерфейс – это интерфейс маркера (у вас нет никакого метода)
*/
открытый код списка массивов классов {
private static final int INITIAL_CAPACITY=10; private Object [] objectArray; private int index; private int size; ArrayListCode() { this.objectArray=new Object[INITIAL_CAPACITY]; this.size=INITIAL_CAPACITY; } public void add(Object o) { System.out.println("index: "+this.index+" size: "+this.size+" Array size: "+this.objectArray.length); //check whether array is full if(this.index== this.size-1) { // Object array is full, in this case we need to increase Object Array increaseObjectArray(); } // array is not full objectArray[index]=o; this.index++; }
private void увеличивает массив объектов() {.size+INITIAL_CAPACITY;//создайте новый массив объектов и скопируйте из старого массива Объект[] Объект[этот.размер]; для (int;i [i]; }; System.out.println(“#######индекс ######: “+этот.индекс+”размер: “+этот.размер+”размер массива: “+этот.objectArray.длина);}
//код для получения() общедоступного объекта get(int i) вызывает исключение {//индекс данных отсутствует в массиве, если(i >this.index-1) {создать новое исключение (“Исключение ArrayIndexOutOfBoundsException”); }//-индекс ve передается иначе, если(i<0) {создать новое исключение (“отрицательное значение!!!”); } вернуть this.objectArray[i]; }//метод удаления или удаления элемента public void remove(int i) вызывает исключение {если(i >this.index-1) {создать новое исключение (“Исключение ArrayIndexOutOfBoundsException!!!”); } иначе, если (i<0) {создать новое исключение (“Отрицательный индекс!!!”); }//код для удаления объекта из массива System.out.println (“Объект удален”+this.objectArray[i]); для (int;j }//уменьшить индекс на единицу после удаления объекта this.index–; }//уменьшить индекс на единицу после удаления объекта this.index–;
}
public static void main(String[] args) throws Exception { ArrayListCode myArrayList=new ArrayListCode(); myArrayList.add(0); myArrayList.add(1); myArrayList.add("pankaj"); myArrayList.add("Ravi Kumar"); myArrayList.add(2); myArrayList.add(3); myArrayList.add(4); myArrayList.add(5); myArrayList.add(6); myArrayList.add(7); myArrayList.add(8); myArrayList.add(9); myArrayList.add(10); System.out.println("Print address ::::::::: "+myArrayList); System.out.println("index 9th element "+myArrayList.get(9)); //myArrayList.remove(10); System.out.println("index 11th element "+myArrayList.get(11)); System.out.println("index 12th element "+myArrayList.get(12)); myArrayList.remove(2); System.out.println(myArrayList.get(2)); /* We can handle Error by using try catch or,. directly throw Exception from main method try { System.out.println(myArrayList.get(9)); }catch (Exception e){ }*/ }
}
Оригинал: “https://dev.to/pankajkrravi/arraylist-data-structure-implement-arraylist-in-java-3foj”