Lập trình chức năng - Danh sách

Listlà kiểu dữ liệu linh hoạt nhất có sẵn trong các ngôn ngữ lập trình chức năng được sử dụng để lưu trữ một tập hợp các mục dữ liệu tương tự. Khái niệm này tương tự như mảng trong lập trình hướng đối tượng. Các mục danh sách có thể được viết trong một dấu ngoặc vuông được phân tách bằng dấu phẩy. Cách ghi dữ liệu vào danh sách khác nhau giữa các ngôn ngữ.

Chương trình tạo danh sách số trong Java

Danh sách không phải là một kiểu dữ liệu trong Java / C / C ++, nhưng chúng tôi có những cách thay thế để tạo danh sách trong Java, tức là bằng cách sử dụng ArrayListLinkedList.

Ví dụ sau đây cho thấy cách tạo một danh sách trong Java. Ở đây chúng tôi đang sử dụng phương pháp Danh sách liên kết để tạo danh sách các số.

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

Nó sẽ tạo ra kết quả sau:

[1, 2, 3, 4, 5]

Chương trình tạo danh sách các số trong Erlang

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

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

Nó sẽ tạo ra kết quả sau:

[1 2 3 4 5]

Liệt kê các hoạt động trong Java

Trong phần này, chúng ta sẽ thảo luận về một số thao tác có thể được thực hiện trên danh sách trong Java.

Thêm phần tử vào danh sách

Các phương thức add (Object), add (index, Object), addAll () được sử dụng để thêm các phần tử vào danh sách. Ví dụ,

ListStrings.add(3, “three”)

Xóa các phần tử khỏi danh sách

Các phương thức remove (chỉ mục) hoặc removeobject () được sử dụng để xóa các phần tử khỏi danh sách. Ví dụ,

ListStrings.remove(3,”three”)

Note - Để xóa tất cả các phần tử khỏi danh sách, phương thức clear () được sử dụng.

Lấy các phần tử từ một danh sách

Phương thức get () được sử dụng để lấy các phần tử từ một danh sách tại một vị trí được chỉ định. Phương thức getfirst () & getlast () có thể được sử dụng trong lớp LinkedList. Ví dụ,

String str = ListStrings.get(2)

Cập nhật các phần tử trong một danh sách

Phương thức set (index, element) được sử dụng để cập nhật một phần tử tại một chỉ mục xác định với một phần tử được chỉ định. Ví dụ,

listStrings.set(2,”to”)

Sắp xếp các phần tử trong một danh sách

Các phương thức collection.sort () và collection.reverse () được sử dụng để sắp xếp danh sách theo thứ tự tăng dần hoặc giảm dần. Ví dụ,

Collection.sort(listStrings)

Tìm kiếm các phần tử trong một danh sách

Ba phương pháp sau được sử dụng theo yêu cầu:

Boolean contains(Object) phương thức trả về true nếu danh sách chứa phần tử được chỉ định, nếu không nó sẽ trả về false.

int indexOf(Object) phương thức trả về chỉ số của lần xuất hiện đầu tiên của một phần tử được chỉ định trong danh sách, nếu không nó sẽ trả về -1 khi phần tử không được tìm thấy.

int lastIndexOf(Object) trả về chỉ số của lần xuất hiện cuối cùng của một phần tử được chỉ định trong danh sách, nếu không nó trả về -1 khi phần tử không được tìm thấy.

Liệt kê các hoạt động trong Erlang

Trong phần này, chúng ta sẽ thảo luận về một số thao tác có thể được thực hiện trên danh sách trong Erlang.

Thêm hai danh sách

Phương thức append (listfirst, listecond) được sử dụng để tạo một danh sách mới bằng cách thêm hai danh sách. Ví dụ,

append(list1,list2)

Xóa một phần tử

Phương thức xóa (phần tử, tên danh sách) được sử dụng để xóa phần tử được chỉ định khỏi danh sách và nó trả về danh sách mới. Ví dụ,

delete(5,list1)

Xóa phần tử cuối cùng khỏi danh sách

Phương thức droplast (listname) được sử dụng để xóa phần tử cuối cùng khỏi danh sách và trả về một danh sách mới. Ví dụ,

droplast(list1)

Tìm kiếm một phần tử

Phương thức thành viên (phần tử, tên danh sách) được sử dụng để tìm kiếm phần tử trong danh sách, nếu tìm thấy nó trả về true, nếu không nó trả về false. Ví dụ,

member(5,list1)

Nhận giá trị tối đa và tối thiểu

Phương thức max (listname) và min (listname) được sử dụng để tìm các giá trị lớn nhất và nhỏ nhất trong danh sách. Ví dụ,

max(list1)

Sắp xếp các phần tử danh sách

Phương thức sắp xếp (listname) và đảo ngược (tên danh sách) được sử dụng để sắp xếp danh sách theo thứ tự tăng dần hoặc giảm dần. Ví dụ,

sort(list1)

Thêm phần tử danh sách

Phương thức sum (listname) được sử dụng để thêm tất cả các phần tử của danh sách và trả về tổng của chúng. Ví dụ,

sum(list1)

Sắp xếp danh sách theo thứ tự tăng dần và giảm dần bằng Java

Chương trình sau đây cho thấy cách sắp xếp danh sách theo thứ tự tăng dần và giảm dần bằng 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); 
   } 
}

Nó sẽ tạo ra kết quả sau:

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]

Sắp xếp danh sách theo thứ tự tăng dần bằng Erlang

Chương trình sau đây cho biết cách sắp xếp danh sách theo thứ tự tăng dần và giảm dần bằng cách sử dụng Erlang, là một ngôn ngữ lập trình chức năng:

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

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

Nó sẽ tạo ra kết quả sau:

[1,2,3,4,5]