列表(Lists)

列表(Lists) 首页 / 函数式入门教程 / 列表(Lists)

List列表是函数编程语言中可用的最通用的数据类型,用于存储相似数据元素的集合,该概念类似于面向对象编程中的数组,列表可以用方括号括起来,并用逗号分隔,将数据写入列表的方式因语言而异。

Java创建列表

列表不是Java/C/C ++中的数据类型,但是我们有使用Java创建列表的另一种方法,即使用 ArrayList 和 LinkedList 。

以下示例显示了如何使用Java创建列表。在这里,我们使用链接列表方法来创建数字列表。

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()方法用于从指定位置的列表中检索元素。可以在LinkedList类中使用getfirst()和getlast()方法。例如,,

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] 

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

硅谷产品实战36讲 -〔曲晓音〕

快速上手Kotlin开发 -〔张涛〕

黄勇的OKR实战笔记 -〔黄勇〕

职场求生攻略 -〔臧萌〕

手把手教你玩音乐 -〔邓柯〕

程序员的测试课 -〔郑晔〕

去无方向的信 -〔小麥〕

深入浅出分布式技术原理 -〔陈现麟〕

云原生架构与GitOps实战 -〔王炜〕

好记忆不如烂笔头。留下您的足迹吧 :)