Programação Funcional - Listas

Listé o tipo de dados mais versátil disponível em linguagens de programação funcionais usadas para armazenar uma coleção de itens de dados semelhantes. O conceito é semelhante aos arrays na programação orientada a objetos. Os itens da lista podem ser escritos entre colchetes separados por vírgulas. A maneira de escrever dados em uma lista varia de idioma para idioma.

Programa para criar uma lista de números em Java

Lista não é um tipo de dados em Java / C / C ++, mas temos maneiras alternativas de criar uma lista em Java, ou seja, usando ArrayList e LinkedList.

O exemplo a seguir mostra como criar uma lista em Java. Aqui, estamos usando um método de lista vinculada para criar uma 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); 
   } 
}

Ele produzirá a seguinte saída -

[1, 2, 3, 4, 5]

Programa para criar uma lista de números em Erlang

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

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

Ele produzirá a seguinte saída -

[1 2 3 4 5]

Listar operações em Java

Nesta seção, discutiremos algumas operações que podem ser feitas em listas em Java.

Adicionando Elementos a uma Lista

Os métodos add (Object), add (index, Object), addAll () são usados ​​para adicionar elementos a uma lista. Por exemplo,

ListStrings.add(3, “three”)

Removendo Elementos de uma Lista

Os métodos remove (index) ou removeobject () são usados ​​para remover elementos de uma lista. Por exemplo,

ListStrings.remove(3,”three”)

Note - Para remover todos os elementos da lista, o método clear () é usado.

Recuperando Elementos de uma Lista

O método get () é usado para recuperar elementos de uma lista em um local especificado. Os métodos getfirst () e getlast () podem ser usados ​​na classe LinkedList. Por exemplo,

String str = ListStrings.get(2)

Atualizar elementos em uma lista

O método set (índice, elemento) é usado para atualizar um elemento em um índice especificado com um elemento especificado. Por exemplo,

listStrings.set(2,”to”)

Classificando elementos em uma lista

Os métodos collection.sort () e collection.reverse () são usados ​​para classificar uma lista em ordem crescente ou decrescente. Por exemplo,

Collection.sort(listStrings)

Pesquisando Elementos em uma Lista

Os três métodos a seguir são usados ​​de acordo com o requisito -

Boolean contains(Object) método retorna true se a lista contém o elemento especificado, senão ele retorna false.

int indexOf(Object) método retorna o índice da primeira ocorrência de um elemento especificado em uma lista, caso contrário, retorna -1 quando o elemento não é encontrado.

int lastIndexOf(Object) retorna o índice da última ocorrência de um elemento especificado em uma lista, caso contrário, retorna -1 quando o elemento não é encontrado.

Listar operações em Erlang

Nesta seção, discutiremos algumas operações que podem ser feitas sobre listas em Erlang.

Adicionando duas listas

O método append (listfirst, listsecond) é usado para criar uma nova lista adicionando duas listas. Por exemplo,

append(list1,list2)

Excluindo um elemento

O método delete (element, listname) é usado para excluir o elemento especificado da lista e retorna a nova lista. Por exemplo,

delete(5,list1)

Excluindo o último elemento da lista

O método droplast (listname) é usado para excluir o último elemento de uma lista e retornar uma nova lista. Por exemplo,

droplast(list1)

Procurando um elemento

O método do membro (elemento, nome da lista) é usado para pesquisar o elemento na lista, se encontrado, retorna verdadeiro do contrário, retorna falso. Por exemplo,

member(5,list1)

Obtendo valor máximo e mínimo

Os métodos max (listname) e min (listname) são usados ​​para encontrar os valores máximo e mínimo em uma lista. Por exemplo,

max(list1)

Elementos da lista de classificação

Os métodos sort (listname) e reverse (listname) são usados ​​para ordenar uma lista em ordem crescente ou decrescente. Por exemplo,

sort(list1)

Adicionando elementos de lista

O método sum (listname) é usado para adicionar todos os elementos de uma lista e retornar sua soma. Por exemplo,

sum(list1)

Classifique uma lista em ordem crescente e decrescente usando Java

O programa a seguir mostra como classificar uma lista em ordem crescente e decrescente 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); 
   } 
}

Ele produzirá a seguinte saída -

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]

Classifique uma lista em ordem crescente usando Erlang

O programa a seguir mostra como classificar uma lista em ordem crescente e decrescente usando Erlang, que é uma linguagem de programação funcional -

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

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

Ele produzirá a seguinte saída -

[1,2,3,4,5]