Programa Java para acceder a la parte de la lista como lista

Una Lista es una secuencia ordenada de elementos almacenados juntos para formar una colección. Una lista puede contener entradas duplicadas y nulas. Una lista nos permite realizar operaciones basadas en índices, es decir, adiciones, eliminaciones, manipulaciones y acceso posicional. Java proporciona una interfaz incorporada <<java.util>> para realizar listas y otras funciones basadas en clases. 

Métodos:

  1. El enfoque ingenuo manteniendo el índice inicial y final.
  2. Usando el método subList() .

Método 1

  1. Se accede a los elementos en los índices requeridos de la lista.
  2. Agréguelos a una nueva lista vacía creada.
  3. Los valores de índice inicial y final se utilizan para acceder a la parte de la lista requerida. De forma predeterminada, se supone que los índices comienzan en 0.

Este enfoque requiere un espacio adicional para mantener una nueva lista para almacenar la sublista deseada.

Ejemplo

Java

// Java Program to Access the Part of List as List
 
// Importing utility and input/output java classes
import java.util.*;
import java.io.*;
// Importing Iterator class
import java.util.Iterator;
 
// Class
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Declaring a list
        List<Integer> list1 = new ArrayList<Integer>();
 
        // Adding elements to list1
        list1.add(1);
        list1.add(7);
        list1.add(8);
        list1.add(2);
        list1.add(11);
        list1.add(3);
        list1.add(66);
        list1.add(30);
 
        // Print the original List
        System.out.println("The original list contents : ");
 
        Iterator iterator = list1.iterator();
 
        // Iterating over elements using hasNext()
        // which holds true till
        // there is further more element in the List
        while (iterator.hasNext()) {
            System.out.print(iterator.next() + " ");
        }
 
        // Declaring a new List to store sublist
        List<Integer> new_list = new ArrayList<Integer>();
 
        // Maintaining and Setting counter to zero
        int i = 0;
 
        // Specifying the positions of the list to access
        // custom
        int start_indx = 2, end_indx = 5;
 
        // Condition check which holds true till
        // current counter value is less than size of List
        while (i < list1.size()) {
 
            // Checking if counter is in range of start and
            // end indx
            if (i >= start_indx && i <= end_indx) {
 
                // Adding element to new List
                new_list.add(list1.get(i));
            }
 
            // Incrementing counter
            i++;
        }
 
        // Print all element of List
        System.out.println();
 
        // Display message
        System.out.println("The sublist contents : ");
 
        // Iterator
        iterator = new_list.iterator();
 
        // Iterating over elements using hasNext() method
        // which holds true till further element is
        // remaining in List else returns false
        while (iterator.hasNext()) {
 
            // Print the elements of subList
            System.out.print(iterator.next() + " ");
        }
    }
}
Producción

The original list contents : 
1 7 8 2 11 3 66 30 
The sublist contents : 
8 2 11 3

Tiempo Complejidad = O(n)

Complejidad espacial = O(n) donde n es el tamaño de la lista.

Método 2: Java nos proporciona un método incorporado sublist() para acceder a los elementos que pertenecen al rango especificado de valores de índice. El método lo proporciona el paquete ArrayList.

Sintaxis: 

public List subList(int fromIndex, int toIndex)

Parámetros: 

  • fromIndex = índice de inicio
  • toIndex = endIndex

Tipo de devolución: una lista de los elementos necesarios. El método accede a todos los elementos en el rango fromIndex to toIndex-1. Si fromIndex es igual a toIndex, se devuelve una lista vacía. 

Ejemplo:

Java

// Java Program to Access the Part of List as List
 
// Importing java utility package, and
// all classes of input/output library
import java.util.*;
import java.util.Iterator;
import java.io.*;
 
class AccessSublist {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Declaring a List of String type
        List<String> list1 = new ArrayList<String>();
 
        // Adding elements to above List(List1)
        // Custom inputs
        list1.add("Are");
        list1.add("you");
        list1.add("working!");
        list1.add("hard");
        list1.add("Geeeks?");
 
        // Display message
        System.out.print("The original list contents : ");
 
        // Iterator
        Iterator iterator = list1.iterator();
 
        // Iterating over elements using hasNext()
        // which holds true till there is
        // further more element present in List
        while (iterator.hasNext()) {
 
            // Print the original List
            System.out.print(iterator.next() + " ");
        }
 
        // Extracting the contents of the list
        // index between 0 and 2 (custom)
        List<String> new_list = list1.subList(0, 3);
 
        // Print
        System.out.println();
 
        // Display message
        System.out.print("The sublist contents : ");
 
        // Iterator
        iterator = new_list.iterator();
 
        // Iterating over elements using hasNext()
        // which holds true till there is
        // further more element present in List
        while (iterator.hasNext()) {
 
            // Print the sublist(list2)
            System.out.print(iterator.next() + " ");
        }
    }
}
Producción

The original list contents : Are you working! hard Geeeks? 
The sublist contents : Are you working!

Publicación traducida automáticamente

Artículo escrito por mallikagupta90 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *