Putar elemen ArrayList di Jawa

By | November 15, 2022

Mangihin.com.

Selamat Membaca, semoga informasi ini bermanfaat dan dapat membantu anda.

Metode untuk menggeser semua komponen Array satu tempat ke kanan. Elemen terakhir akan berpindah ke posisi pertama.

Contoh, jika Array asli berisi nilai-nilai berikut:

Berikut gerakan yang akan dilakukan:

Sehingga isi akhir dari Array adalah ini:

Dalam hal ini wadahnya akan menjadi ArrayList. Metode ini akan menerima ArrayList bertipe Integer dengan rangkaian nilai numerik dan mengembalikan ArrayList yang sama dengan elemennya digeser satu posisi ke kanan. Perpindahan akan dilakukan pada larik yang sama. Array tambahan tidak dapat digunakan untuk melakukan proses.

Larutan:

Kami akan menyelesaikannya dengan dua cara. Yang pertama adalah metode yang bisa kita panggil klasik untuk memutar komponen array yang terdiri dari simpan elemen terakhir dari array dalam variabel helper, lalu geser semua elemen satu posisi ke kanan dari ujung ke awal array, dan terakhir tetapkan nilai yang disimpan dalam helper ke elemen pertama.

Ini adalah kode Java untuk metode gulir pertama ini:

public static void desplazarDerecha(ArrayList a) {
        int i;
        int aux = a.get(a.size() - 1); //guardar el ltimo elemento en una variable                          
        for (i = a.size() - 1; i > 0; i--) { //desplazar los elementos
            a.set(i, a.get(i - 1)); //a cada elemento se le asigna el anterior
        }
        a.set(0, aux); //asignar al primero el ltimo que se guard al principio
}

Cara kedua untuk mengatasinya adalah dengan menggunakan dua metode dari kelas ArrayList:

tambah(posisi, nilai);

hapus (posisi);

Dengan metode add kita menyisipkan nilai terakhir di awal ArrayList. Menyisipkan pada suatu posisi berarti membuat elemen baru pada posisi itu dan memindahkan elemen lainnya ke kanan.

Misalnya, jika arraynya adalah ini:

Dengan memasukkan elemen terakhir di awal, konten array sekarang menjadi ini:

Tinggal menghapus elemen terakhir dan kita akan mendapatkan hasilnya:

Ini adalah kode Java untuk metode gulir kedua ini:

public static void desplazarDerecha2(ArrayList a) {
        int aux = a.get(a.size()-1);  //guardar el ltimo elemento en una variable                           
        a.add(0,aux);                 //insertar al principio el ltimo valor
        a.remove(a.size()-1);         //eliminar el ltimo elemento
}

Selesaikan program untuk menggunakan metode ini:

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        ArrayList A = leerArray();
        mostrar(A);
        //utilizando el mtodo clsico
        desplazarDerecha(A);
        mostrar(A);
        //utilizando solo los mtodos de ArrayList
        desplazarDerecha2(A);
        mostrar(A);
    }

    //pedir por teclado los valores del ArrayList
    public static ArrayList leerArray() {
        Scanner sc = new Scanner(System.in);
        ArrayList numeros = new ArrayList();
        int N;
        do {
            System.out.print("Nmero de elementos del array (>0): ");
            N = sc.nextInt();
        } while (N  0; i--) { //desplazar los elementos
            a.set(i, a.get(i - 1)); //a cada elemento se le asigna el anterior
        }
        a.set(0, aux); //asignar al primero el ltimo que se guard al principio
    }

    //Utilizando mtodos de ArrayList:
    //guardamos el ltimo elemento en una variable
    //insertamos este elemento al principio
    //eliminamos el ltimo elemento
    public static void desplazarDerecha2(ArrayList a) {
        int aux = a.get(a.size()-1);     
        a.add(0,aux);
        a.remove(a.size()-1);
    }
   
    //Mtodo para mostrar todo el ArrayList
    public static void mostrar(ArrayList a) {
        System.out.println(a);
    }
}