函數語言程式設計 - 列表



列表是函數語言程式設計語言中最通用的資料型別,用於儲存一系列相同資料項的集合。這個概念類似於面向物件程式設計中的陣列。列表項可以用方括號括起來,並用逗號分隔。將資料寫入列表的方式因語言而異。

在 Java 中建立數字列表的程式

Java/C/C++ 中沒有列表資料型別,但我們有替代方法在 Java 中建立列表,即使用ArrayListLinkedList

以下示例展示瞭如何在 Java 中建立列表。這裡我們使用 LinkedList 方法來建立數字列表。

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

它將產生以下輸出 -

[1, 2, 3, 4, 5] 

在 Erlang 中建立數字列表的程式

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

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

它將產生以下輸出 -

[1 2 3 4 5]

Java 中的列表操作

在本節中,我們將討論一些可以在 Java 中的列表上執行的操作。

向列表中新增元素

方法 add(Object)、add(index, Object)、addAll() 用於向列表中新增元素。例如,

ListStrings.add(3, “three”) 

從列表中刪除元素

方法 remove(index) 或 removeobject() 用於從列表中刪除元素。例如,

ListStrings.remove(3,”three”)

注意 - 要刪除列表中的所有元素,可以使用 clear() 方法。

從列表中檢索元素

get() 方法用於從指定位置檢索列表中的元素。getFirst() 和 getLast() 方法可以在 LinkedList 類中使用。例如,

String str = ListStrings.get(2) 

更新列表中的元素

set(index,element) 方法用於使用指定元素更新指定索引處的元素。例如,

listStrings.set(2,”to”)

對列表中的元素進行排序

方法 collection.sort() 和 collection.reverse() 用於對列表進行升序或降序排序。例如,

Collection.sort(listStrings) 

在列表中搜索元素

以下三種方法根據需要使用 -

Boolean contains(Object) 方法如果列表包含指定的元素則返回true,否則返回false

int indexOf(Object) 方法返回列表中指定元素首次出現的位置的索引,如果找不到元素則返回 -1。

int lastIndexOf(Object) 返回列表中指定元素最後一次出現的位置的索引,如果找不到元素則返回 -1。

Erlang 中的列表操作

在本節中,我們將討論一些可以在 Erlang 中的列表上執行的操作。

新增兩個列表

append(listfirst, listsecond) 方法用於透過新增兩個列表來建立一個新列表。例如,

append(list1,list2)

刪除元素

delete(element, listname) 方法用於從列表中刪除指定的元素,並返回新列表。例如,

delete(5,list1) 

刪除列表中的最後一個元素

droplast(listname) 方法用於從列表中刪除最後一個元素並返回新列表。例如,

droplast(list1) 

搜尋元素

member(element, listname) 方法用於在列表中搜索元素,如果找到則返回 true,否則返回 false。例如,

member(5,list1) 

獲取最大值和最小值

max(listname) 和 min(listname) 方法用於查詢列表中的最大值和最小值。例如,

max(list1) 

對列表元素進行排序

方法 sort(listname) 和 reverse(listname) 用於對列表進行升序或降序排序。例如,

sort(list1) 

新增列表元素

sum(listname) 方法用於將列表的所有元素相加並返回它們的總和。例如,

sum(list1)

使用 Java 對列表進行升序和降序排序

以下程式展示瞭如何使用 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); 
   } 
} 

它將產生以下輸出 -

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] 

使用 Erlang 對列表進行升序排序

以下程式展示瞭如何使用 Erlang(一種函數語言程式設計語言)對列表進行升序和降序排序 -

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

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

它將產生以下輸出 -

[1,2,3,4,5] 
廣告