Programmation fonctionnelle - Listes

Listest le type de données le plus polyvalent disponible dans les langages de programmation fonctionnelle utilisés pour stocker une collection d'éléments de données similaires. Le concept est similaire aux tableaux dans la programmation orientée objet. Les éléments de liste peuvent être écrits entre crochets séparés par des virgules. La manière d'écrire des données dans une liste varie d'une langue à l'autre.

Programme pour créer une liste de nombres en Java

La liste n'est pas un type de données en Java / C / C ++, mais nous avons d'autres moyens de créer une liste en Java, c'est-à-dire en utilisant ArrayList et LinkedList.

L'exemple suivant montre comment créer une liste en Java. Ici, nous utilisons une méthode de liste liée pour créer une liste de nombres.

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); 
   } 
}

Il produira la sortie suivante -

[1, 2, 3, 4, 5]

Programme pour créer une liste de nombres à Erlang

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

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

Il produira la sortie suivante -

[1 2 3 4 5]

Lister les opérations en Java

Dans cette section, nous discuterons de certaines opérations qui peuvent être effectuées sur des listes en Java.

Ajout d'éléments dans une liste

Les méthodes add (Object), add (index, Object), addAll () sont utilisées pour ajouter des éléments dans une liste. Par exemple,

ListStrings.add(3, “three”)

Suppression d'éléments d'une liste

Les méthodes remove (index) ou removeobject () sont utilisées pour supprimer des éléments d'une liste. Par exemple,

ListStrings.remove(3,”three”)

Note - Pour supprimer tous les éléments de la liste, la méthode clear () est utilisée.

Récupérer des éléments d'une liste

La méthode get () est utilisée pour récupérer des éléments d'une liste à un emplacement spécifié. Les méthodes getfirst () et getlast () peuvent être utilisées dans la classe LinkedList. Par exemple,

String str = ListStrings.get(2)

Mettre à jour des éléments dans une liste

La méthode set (index, element) est utilisée pour mettre à jour un élément à un index spécifié avec un élément spécifié. Par exemple,

listStrings.set(2,”to”)

Tri des éléments dans une liste

Les méthodes collection.sort () et collection.reverse () sont utilisées pour trier une liste par ordre croissant ou décroissant. Par exemple,

Collection.sort(listStrings)

Recherche d'éléments dans une liste

Les trois méthodes suivantes sont utilisées conformément à l'exigence -

Boolean contains(Object) retourne la méthode true si la liste contient l'élément spécifié, sinon elle retourne false.

int indexOf(Object) La méthode renvoie l'index de la première occurrence d'un élément spécifié dans une liste, sinon elle renvoie -1 lorsque l'élément n'est pas trouvé.

int lastIndexOf(Object) renvoie l'index de la dernière occurrence d'un élément spécifié dans une liste, sinon il retourne -1 lorsque l'élément n'est pas trouvé.

Liste des opérations à Erlang

Dans cette section, nous discuterons de certaines opérations qui peuvent être effectuées sur des listes dans Erlang.

Ajout de deux listes

La méthode append (listfirst, listsecond) est utilisée pour créer une nouvelle liste en ajoutant deux listes. Par exemple,

append(list1,list2)

Supprimer un élément

La méthode delete (element, listname) est utilisée pour supprimer l'élément spécifié de la liste et elle renvoie la nouvelle liste. Par exemple,

delete(5,list1)

Supprimer le dernier élément de la liste

La méthode droplast (listname) est utilisée pour supprimer le dernier élément d'une liste et renvoyer une nouvelle liste. Par exemple,

droplast(list1)

Recherche d'un élément

La méthode member (element, listname) est utilisée pour rechercher l'élément dans la liste, si elle est trouvée, elle retourne true sinon elle retourne false. Par exemple,

member(5,list1)

Obtenir la valeur maximale et minimale

Les méthodes max (listname) et min (listname) sont utilisées pour trouver les valeurs maximum et minimum dans une liste. Par exemple,

max(list1)

Tri des éléments de la liste

Les méthodes sort (listname) et reverse (listname) sont utilisées pour trier une liste par ordre croissant ou décroissant. Par exemple,

sort(list1)

Ajouter des éléments de liste

La méthode sum (listname) est utilisée pour ajouter tous les éléments d'une liste et retourner leur somme. Par exemple,

sum(list1)

Trier une liste par ordre croissant et décroissant à l'aide de Java

Le programme suivant montre comment trier une liste par ordre croissant et décroissant à l'aide de 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); 
   } 
}

Il produira la sortie suivante -

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]

Trier une liste par ordre croissant à l'aide d'Erlang

Le programme suivant montre comment trier une liste dans l'ordre croissant et décroissant à l'aide d'Erlang, qui est un langage de programmation fonctionnel -

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

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

Il produira la sortie suivante -

[1,2,3,4,5]