Programación funcional: listas

Listes el tipo de datos más versátil disponible en lenguajes de programación funcional que se utiliza para almacenar una colección de elementos de datos similares. El concepto es similar a las matrices en la programación orientada a objetos. Los elementos de la lista se pueden escribir entre corchetes separados por comas. La forma de escribir datos en una lista varía de un idioma a otro.

Programa para crear una lista de números en Java

La lista no es un tipo de datos en Java / C / C ++, pero tenemos formas alternativas de crear una lista en Java, es decir, usando ArrayList y LinkedList.

El siguiente ejemplo muestra cómo crear una lista en Java. Aquí estamos usando un método de lista enlazada para crear una lista de números.

import java.util.*; 
import java.lang.*; 
import java.io.*;  

/* Name of the class has to be "Main" only if the class is public. */ 

public class HelloWorld { 
   public static void main (String[] args) throws java.lang.Exception { 
      List<String> listStrings = new LinkedList<String>(); 
      listStrings.add("1"); 
      listStrings.add("2"); 
      listStrings.add("3"); 
      listStrings.add("4"); 
      listStrings.add("5"); 
  
      System.out.println(listStrings); 
   } 
}

Producirá la siguiente salida:

[1, 2, 3, 4, 5]

Programa para crear una lista de números en Erlang

-module(helloworld).  
-export([start/0]).   

start() ->  
   Lst = [1,2,3,4,5],  
   io:fwrite("~w~n",[Lst]).

Producirá la siguiente salida:

[1 2 3 4 5]

Listar operaciones en Java

En esta sección, discutiremos algunas operaciones que se pueden realizar sobre listas en Java.

Agregar elementos a una lista

Los métodos add (Object), add (index, Object), addAll () se utilizan para añadir elementos a una lista. Por ejemplo,

ListStrings.add(3, “three”)

Eliminar elementos de una lista

Los métodos remove (index) o removeobject () se utilizan para eliminar elementos de una lista. Por ejemplo,

ListStrings.remove(3,”three”)

Note - Para eliminar todos los elementos de la lista se utiliza el método clear ().

Recuperar elementos de una lista

El método get () se usa para recuperar elementos de una lista en una ubicación específica. Los métodos getfirst () y getlast () se pueden usar en la clase LinkedList. Por ejemplo,

String str = ListStrings.get(2)

Actualización de elementos en una lista

El método set (índice, elemento) se utiliza para actualizar un elemento en un índice especificado con un elemento especificado. Por ejemplo,

listStrings.set(2,”to”)

Ordenar elementos en una lista

Los métodos collection.sort () y collection.reverse () se utilizan para ordenar una lista en orden ascendente o descendente. Por ejemplo,

Collection.sort(listStrings)

Buscar elementos en una lista

Los siguientes tres métodos se utilizan según el requisito:

Boolean contains(Object) devuelve el método true si la lista contiene el elemento especificado, de lo contrario, devuelve false.

int indexOf(Object) El método devuelve el índice de la primera aparición de un elemento especificado en una lista; de lo contrario, devuelve -1 cuando no se encuentra el elemento.

int lastIndexOf(Object) devuelve el índice de la última aparición de un elemento especificado en una lista; de lo contrario, devuelve -1 cuando no se encuentra el elemento.

Listar operaciones en Erlang

En esta sección, discutiremos algunas operaciones que se pueden realizar sobre listas en Erlang.

Agregar dos listas

El método append (listfirst, listsecond) se usa para crear una nueva lista agregando dos listas. Por ejemplo,

append(list1,list2)

Eliminar un elemento

El método de eliminación (elemento, nombre de lista) se utiliza para eliminar el elemento especificado de la lista y devuelve la nueva lista. Por ejemplo,

delete(5,list1)

Eliminando el último elemento de la lista

El método droplast (nombre de lista) se utiliza para eliminar el último elemento de una lista y devolver una nueva lista. Por ejemplo,

droplast(list1)

Buscando un elemento

El método de miembro (elemento, nombre de lista) se utiliza para buscar el elemento en la lista, si se encuentra, devuelve verdadero; de lo contrario, devuelve falso. Por ejemplo,

member(5,list1)

Obtener valor máximo y mínimo

Los métodos max (nombre de lista) y min (nombre de lista) se utilizan para encontrar los valores máximo y mínimo en una lista. Por ejemplo,

max(list1)

Ordenar elementos de la lista

Los métodos sort (nombre de lista) e inverso (nombre de lista) se utilizan para ordenar una lista en orden ascendente o descendente. Por ejemplo,

sort(list1)

Agregar elementos de lista

El método sum (nombre de lista) se usa para agregar todos los elementos de una lista y devolver su suma. Por ejemplo,

sum(list1)

Ordene una lista en orden ascendente y descendente usando Java

El siguiente programa muestra cómo ordenar una lista en orden ascendente y descendente usando Java:

import java.util.*; 
import java.lang.*; 
import java.io.*;  

public class SortList { 
   public static void main (String[] args) throws java.lang.Exception { 
      List<String> list1 = new ArrayList<String>(); 
      list1.add("5"); 
      list1.add("3"); 
      list1.add("1"); 
      list1.add("4"); 
      list1.add("2"); 
  
      System.out.println("list before sorting: " + list1); 
  
      Collections.sort(list1); 
  
      System.out.println("list in ascending order: " + list1); 
      Collections.reverse(list1); 
  
      System.out.println("list in dsending order: " + list1); 
   } 
}

Producirá la siguiente salida:

list before sorting     : [5, 3, 1, 4, 2] 
list in ascending order : [1, 2, 3, 4, 5] 
list in dsending order  : [5, 4, 3, 2, 1]

Ordene una lista en orden ascendente usando Erlang

El siguiente programa muestra cómo ordenar una lista en orden ascendente y descendente usando Erlang, que es un lenguaje de programación funcional:

-module(helloworld).  
-import(lists,[sort/1]).  
-export([start/0]).   

start() ->  
   List1 = [5,3,4,2,1],  
   io:fwrite("~p~n",[sort(List1)]),

Producirá la siguiente salida:

[1,2,3,4,5]