remove delete an element from an array java
Вивчіть різні методи видалення або видалення елемента з масиву в Java, такі як Використання іншого масиву, Використання Java 8 Streams, Використання ArrayList:
Масиви Java не передбачають методу прямого видалення для видалення елемента. Насправді ми вже обговорювали, що масиви в Java є статичними, тому розмір масивів не може змінюватися після їх створення. Таким чином, ми не можемо видалити елемент і зменшити розмір масиву.
Отже, якщо ми хочемо видалити або видалити елемент із масиву, нам потрібно використовувати різні методи, які зазвичай є обхідними шляхами.
=> Дивіться повну серію навчальних посібників для Java для початківців
Що ви дізнаєтесь:
Видалення / видалення елемента з масиву в Java
У цьому підручнику ми обговоримо різні методи видалення елемента з масиву.
Це включає:
- Використання іншого масиву
- Використання потоків Java 8
- Використання ArrayList
- Використання System.arraycopy ()
Використання іншого масиву
Це традиційний і дещо неефективний метод видалення елемента масиву. Тут ми визначаємо новий масив розміром менше 1 до вихідного масиву. Потім ми копіюємо елементи з вихідного масиву в новий масив. Але виконуючи це копіювання, ми пропускаємо елемент із зазначеним індексом.
Таким чином ми копіюємо всі елементи, крім елемента, який потрібно видалити, у новий масив із зазначенням того, що елемент видалено.
Ми можемо зобразити цю операцію наочно, як показано нижче.
Давайте реалізуємо цей метод у програмі Java.
import java.util.Arrays; class Main { public static void main(String() args) { // define original array int() tensArray = { 10,20,30,40,50,60}; // Print the original array System.out.println('Original Array: ' + Arrays.toString(tensArray)); // the index at which the element in the array is to be removed int rm_index = 2; // display index System.out.println('Element to be removed at index: ' + rm_index); // if array is empty or index is out of bounds, removal is not possible if (tensArray == null || rm_index<0 || rm_index>= tensArray.length) { System.out.println('No removal operation can be performed!!'); } // Create a proxy array of size one less than original array int() proxyArray = new int(tensArray.length - 1); // copy all the elements in the original to proxy array except the one at index for (int i = 0, k = 0; i Вихід:

Використання Java 8 Streams
Потоки - це нове доповнення до Java, починаючи з версії 8 і далі. Використовуючи потоки Java8, ми можемо видалити елемент із масиву. Для цього спочатку масив перетворюється на потік. Потім елемент із зазначеним індексом видаляється за допомогою фільтруючого методу потоків.
Після того, як елемент буде видалено за допомогою методів ‘map’ та ‘toArray’, потік перетворюється назад у масив.
Як виправити шлюз за замовчуванням недоступний
Здійснення видалення елемента з масиву за допомогою потоку показано нижче.
import java.util.Arrays; import java.util.stream.IntStream; class Main { // Function to remove the element public static int() removeArrayElement(int() oddArray, int index) { //array is empty or index is beyond array bounds if (oddArray == null || index <0 || index>= oddArray.length) { return oddArray; } // delete the element at specified index and return the array return IntStream.range(0, oddArray.length) .filter(i -> i != index) .map(i ->oddArray(i)).toArray(); } public static void main(String() args) { int() oddArray = { 1, 3,5,7,9,11}; // define array of odd numbers System.out.println('Original Array: ' + Arrays.toString(oddArray)); // Print the resultant array int index = 2; // index at which element is to be removed System.out.println('Element to be removed at index: ' + index); // display index // function call removeArrayElement oddArray = removeArrayElement(oddArray, index); // Print the resultant array System.out.println('Array after deleting element: ' + Arrays.toString(oddArray)); } }
Вихід:

Використання ArrayList
Ми можемо використовувати ArrayList для виконання цієї операції. Щоб видалити елемент з масиву, спочатку ми перетворюємо масив на ArrayList, а потім використовуємо метод «remove» з ArrayList для видалення елемента з певним індексом.
Після вилучення ми перетворюємо ArrayList назад у масив.
Наступна реалізація показує видалення елемента з масиву за допомогою ArrayList.
import java.util.*; import java.util.stream.*; class Main { public static int() remove_Element(int() myArray, int index) { if (myArray == null || index <0 || index>= myArray.length) { System.out.println('non-existing index'); return myArray; } //array to arrayList List arrayList = IntStream.of(myArray) .boxed().collect(Collectors.toList()); // Remove the specified element arrayList.remove(index); // return the resultant array returnarrayList.stream().mapToInt(Integer::intValue).toArray(); } public static void main(String() args) { int() myArray = { 11,22,33,44,55,66,77,88,99,111 }; System.out.println('Original Array: ' + Arrays.toString(myArray)); int index = 10; System.out.println('Index at which element is to be deleted: ' + index); myArray = remove_Element(myArray, index); System.out.println('Resultant Array: ' + Arrays.toString(myArray) + '
'); index = 2; System.out.println('Index at which element is to be deleted: ' + index); myArray = remove_Element(myArray, index); System.out.println('Resultant Array: ' + Arrays.toString(myArray)); } }
Вихід:

Вищевказана програма видає результати для двох умов. Спочатку передається неіснуючий індекс (10), тобто поза поточним розміром масиву. Програма відображає відповідне повідомлення і не видаляє жоден елемент.
У другому випадку передається індекс = 2. Цього разу елемент у позиції 2 видаляється, а отриманий масив передається.
Використання System.arraycopy ()
Цей метод подібний до першого методу, за винятком того, що ми використовуємо метод «arrayCopy» для копіювання елементів вихідного масиву в новий масив.
Спочатку ми копіюємо елементи вихідного масиву від 0 до індексу в новий масив. Далі ми копіюємо елементи з індексу + 1 до довжини в новий масив. Таким чином, під час копіювання ми пропускаємо елемент із зазначеним індексом і створюємо новий масив.
Цей новий масив вказує на результуючий масив, який отримується після видалення елемента за вказаним індексом.
import java.util.Arrays; class Main { public static void main(String() args) { // define the array of integers int() intArray = { 10,20,30,40,50 }; // display the original array System.out.println('Original Array: ' + Arrays.toString(intArray)); // index at which the element is to be deleted int index = 2; // the index System.out.println('Element to be deleted at index: ' + index); // check if the array is empty or index is out of bounds if (intArray == null || index <0 || index>= intArray.length) { System.out.println('No removal operation can be performed!!'); } // create an array to hold elements after deletion int() copyArray = new int(intArray.length - 1); // copy elements from original array from beginning till index into copyArray System.arraycopy(intArray, 0, copyArray, 0, index); // copy elements from original array from index+1 till end into copyArray System.arraycopy(intArray, index + 1, copyArray, index, intArray.length - index - 1); // display the copied array after deletion System.out.println('Array after deleting an element: ' + Arrays.toString(copyArray)); } }
Вихід:

Часті запитання
Q # 1) Як видалити один елемент із масиву?
Відповідь: Java не передбачає прямого методу видалення елемента з масиву. Але враховуючи індекс, при якому елемент буде видалений, ми можемо використовувати ArrayList для видалення елемента за вказаним індексом.
Для цього спочатку ми перетворюємо масив на ArrayList і за допомогою методу remove видаляємо елемент. Після цього ми перетворюємо ArrayList назад у масив. Є також кілька інших обхідних шляхів, які ми можемо застосувати для цієї мети.
Q # 2) Що робить ArrayList видалення?
Відповідь: Метод видалення ArrayList видаляє елемент у ArrayList за заданим індексом, який подається як аргумент.
як відкрити файли jar
Запитання №3) Як видалити дублікати з масиву в Java?
Відповідь: Повторювані елементи з масиву можна видалити, використовуючи тимчасовий масив, який буде підраховувати елементи по одному і лише поміщати унікальні елементи у тимчасовий масив. Щоб видалити дублікати, потрібно сортувати масив.
Q # 4) Чи повертає Filter новий масив?
Відповідь: Так. Фільтр повертає новий масив, не впливаючи на початковий масив.
Q # 5) Як R працює на Java?
Відповідь: Метод видалення ArrayList у Java видаляє елемент із зазначеним індексом. У зв’язаному списку також метод remove видаляє вузол у заданій позиції.
Висновок
У цьому підручнику ми побачили різні способи або способи обходу, за допомогою яких ми можемо вилучити елемент із масиву за заданим індексом.
У наступних темах ми обговоримо ще деякі операції, що виконуються над масивами на Java.
=> Ознайомтесь з Інтенсивним посібником з навчання Java тут
Рекомендована література
- Підручник з довжини масиву Java із прикладами коду
- Java Array - Як надрукувати елементи масиву в Java?
- Як відсортувати масив на Java - Підручник з прикладами
- Java Array - Оголошення, створення та ініціалізація масиву в Java
- Загальний масив Java - Як імітувати загальні масиви в Java?
- Зворотній масив у Java - 3 методи з прикладами
- Підручник з роздумів про Java з прикладами
- Як передати / повернути масив на Java