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");
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="pln">listStrings</span><span class="pun">);</span><span class="pln">
}
}
它将产生以下输出-
[1, 2, 3, 4, 5]
Erlang创建列表
-module(helloworld). -export([start/0]).start() ->
Lst = [1,2,3,4,5],
io:fwrite("wn",[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");
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"list before sorting: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> list1</span><span class="pun">);</span><span class="pln">
</span><span class="typ">Collections</span><span class="pun">.</span><span class="pln">sort</span><span class="pun">(</span><span class="pln">list1</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"list in ascending order: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> list1</span><span class="pun">);</span><span class="pln">
</span><span class="typ">Collections</span><span class="pun">.</span><span class="pln">reverse</span><span class="pun">(</span><span class="pln">list1</span><span class="pun">);</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"list in dsending order: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> list1</span><span class="pun">);</span><span class="pln">
}
}
它将产生以下输出-
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("pn",[sort(List1)]),
它将产生以下输出-
[1,2,3,4,5]