Java Collection Framework chứa những giao diện với lớp rất hữu ích triển khai chúng để triển khai việc với các cấu trúc dữ liệu. Có thể nói đây là trong số những JDK framework đặc biệt quan trọng nhất. Giao diện danh sách rất phổ biến. Chính vì không có tất cả các loại danh sách trong xây dựng thì nó là điều không thể thiếu. Trong nội dung bài viết này, shop chúng tôi sẽ kể đến bối cảnh này, những phương thức và tiến hành Danh sách Java.

Giao diện list Java

Điều quan trọng đặc biệt nhất về một danh sách là nó là một tập đúng theo có đồ vật tự . Bạn cũng có thể gọi nó là một trong chuỗi. Trong Java, list là đồng nhất, tức là các phần tử của danh sách có thuộc kiểu dữ liệu. Giao diện danh sách Java thừa kế từ bộ sưu tập, nó kế thừa tất cả các hoạt động của nó. Quanh đó chúng, các làm việc sau cũng hoàn toàn có thể thực hiện tại được trong Danh sách: truy vấn vị trí. Mỗi phần tử có một chỉ mục và hoàn toàn có thể được làm việc dựa trên vị trí của chúng. Trong danh sách. Tức là chúng ta có thể thêm, đào thải và sửa đổi các phần tử. Kiếm tìm kiếm. Chúng ta cũng có thể tìm 1 phần tử trong list theo ngôn từ của nó cùng trả về chỉ mục của nó. Lặp lại. Tính chất tuần từ bỏ của List có thể chấp nhận được sử dụng thủ tục lặp (list
Iterator). Phạm vi xem. Phương thức danh sách con triển khai các thao tác phạm vi tùy ý bên trên danh sách.

Bạn đang xem: Nhập danh sách sinh viên trong java

Các phương thức danh sách Java

Các chuyển động trên được hiển thị trong các phương thức của giao diện list Java. Đây là một vài trong số họ:
phương thức Sự diễn tả
thêm (phần tử E) Phương thức này thêm bộ phận phần tử vào thời gian cuối danh sách này.
thêm (chỉ số int, phần tử) Phương thức thêm 1 phần tử tại một chỉ mục ví dụ trong danh sách. Giả dụ một tham số cần thiết được truyền vào, nó đang thêm thành phần vào cuối danh sách.
add
All(int index, bộ sưu tập bộ sưu tập)
Thêm toàn bộ các bộ phận trong tủ chứa đồ đã bỏ vô danh sách. Trường hợp một tham số duy nhất được truyền vào, nó đang thêm toàn bộ các thành phần của tập hợp đang cho vào cuối danh sách.
kích cỡ() Trả về form size của list (số lượng bộ phận trong danh sách).
lấy (chỉ số int) Trả về thành phần tại chỉ mục đang chỉ định.
thiết lập (chỉ số int, phần tử) Thay thay các bộ phận tại một chỉ mục cố định bằng thành phần mới cùng trả về bộ phận đã được sửa chữa thay thế bằng thành phần mới.
xóa (chỉ số int) Xóa một phần tử khỏi chỉ mục đang chỉ định.
xóa (phần tử) Loại vứt sự xuất hiện trước tiên của thành phần đã cho trong danh sách.
thông thoáng() Xóa toàn bộ các phần tử khỏi danh sách.

Xem thêm: Cách Quản Lý Tài Chính Cá Nhân Cho Sinh Viên, Bí Quyết Quản Lý Tài Chính Cá Nhân Cho Sinh Viên

index
Of(phần tử)
Trả về lần xuất hiện trước tiên của bộ phận đã cho. Nếu bộ phận không tất cả trong danh sách, trả về -1 .
last
Index
Of(phần tử)
Trả về lần xuất hiện sau cuối của thành phần đã cho. Nếu thành phần không gồm trong danh sách, trả về -1 .
bằng (phần tử) So sánh sự bằng nhau của thành phần đã cho với các phần tử của danh sách.
Mã Băm() Trả về cực hiếm mã băm của list đã cho.
is
Empty()
Kiểm tra xem danh sách có trống không. Trả về true nếu list trống.
chứa (phần tử) Kiểm tra xem danh sách có cất phần tử hay là không . Trả về true nếu danh sách chứa phần tử.
chứa
All(Bộ sưu tập)
Kiểm tra xem list có chứa tất cả tập phù hợp các bộ phận hay không.
sắp xếp (So sánh comp) Sắp xếp các thành phần của danh sách trên đại lý bộ so sánh đã cho.
danh sách bé (int from Index, int lớn Index) Trả về dạng coi của phần list này giữa from
Index, bao hàm và to
Index, độc quyền đã chỉ định.

*

Danh sách thực hiện

Bởi vì Danh sách là 1 trong giao diện, những chương trình cần tạo ra một triển khai rõ ràng cho nó. Bạn có thể chọn giữa những triển khai list sau vào API tủ đồ Java: java.util.Array
List java.util.Linked
List java.util.Vector java.util.Stack
Việc triển khai thông dụng nhất của giao diện danh sách được hotline là Array
List. Ít thường xuyên hơn, nhưng bạn vẫn có thể thấy việc áp dụng Linked
List trong những tác vụ thực tế, nhưng mà Vector cùng Stack đã trở nên lỗi thời về mặt đạo đức trong một thời hạn dài, bởi vậy rất có thể các bạn sẽ chỉ tìm kiếm thấy chúng trong các dự án tất cả mã thừa kế cổ xưa.

Khai báo đồ họa danh sách

Bạn rất có thể khai báo một các mục trong lịch trình Java theo một trong những cách sau: các mục my
List = new Array
List();List my
List1 = new Array
List();List my
List3 = new Array
List();Array
List array
List = new Array
List(); rất tốt là khai báo một danh sách mới thông qua 1 giao diện. Tương tự, bạn có thể khai báo những triển khai không giống của Danh sách. Con phố ngắn nhất: Vector my
Vector = new Vector;Linked
List linked
List = new Linked
List();Stack stack = new Stack(); Với phương pháp khai báo như vậy, kiểu dữ liệu của các bộ phận trong danh sách đó được khẳng định trong quá trình khởi tạo ra danh sách, có nghĩa là khi các thành phần được cung cấp đó. List my
List = new Array
List();Vector my
Vector = new Vector();Linked
List linked
List = new Linked
List();Stack stack = new Stack();stack.add("Paul");linked
List.add(1);my
Vector.add(1.2f);my
List.add("a"); hiện thời chỉ có thể thêm những chuỗi vào phòng xếp của bọn chúng tôi, các số nguyên vào Linked
List , float vào my
Vector với my
List là 1 danh sách các ký tự.

Array
List vận động như nắm nào

Nếu các bạn đã quen thuộc với các mảng thông thường, thì bạn cũng đã phần nào quen thuộc với Array
List. Thực tế, Array
List là 1 trong mảng động, và phía bên trong nó là một mảng thông thường. Mảng này vận động như một kho tàng trữ dữ liệu. Array
List chỉ lưu lại trữ những loại tham chiếu, ngẫu nhiên đối tượng nào, bao hàm các lớp mặt thứ ba, chuỗi, luồng cổng output và các bộ sưu tầm khác. Những lớp bảo phủ được sử dụng để lưu trữ các kiểu dữ liệu nguyên thủy vào Array
List. Khi tạo ra danh sách, cửa hàng chúng tôi có thể đặt kích cỡ của nó ngay lập tức lập tức, nhưng trong phần đông các trường hợp, công ty chúng tôi không làm cho như vậy. Theo mặc định, size Array
List = 10. Vấn đề thêm bộ phận mới vào Array
List trông như thế nào? Trước hết, một cuộc soát sổ được bước đầu để xem liệu gồm đủ khoảng trống trong mảng bên phía trong hay không với liệu một phần tử nữa có cân xứng hay không. Nếu có tầm khoảng trống, thành phần mới sẽ tiến hành thêm vào thời gian cuối danh sách, nghĩa là vào ô theo sau phần tử cuối cùng. Chỉ mục của nó sẽ là arraylist.size(). Nếu bọn họ vừa sản xuất danh sách của bản thân mình và nó trống, điều này tức là array
List.size() = 0. Theo đó, một trong những phần tử mới sẽ được thêm vào ô bao gồm chỉ số 0. Nếu như không đủ chỗ, một phần tử mới sẽ tiến hành thêm vào. Mảng được tạo phía bên trong Array
List với kích thước (kích thước của Old
Array * 1.5) + 1. Theo phép tắc tương tự, việc chèn xẩy ra ở giữa danh sách, tuy thế đồng thời, toàn bộ các bộ phận theo sau phần tử được chèn hầu như chuyển sang bên phải. Vày vậy, nếu họ có 5 phần tử trong mảng và chúng ta cần chèn một phần tử vào ô số 2 (nghĩa là ô lắp thêm ba), thì các thành phần mảng 0 với 1 vẫn giữ nguyên vị trí, một phần tử mới xuất hiện thêm trong ô 2 với tiền thân của nó đi đến ô máy ba, v.v. 1 phần tử mới sẽ tiến hành thêm vào ô tất cả chỉ số 0. Nếu không có đủ dung lượng, một mảng mới sẽ tiến hành tạo phía bên trong Array
List với form size (kích thước của Old
Array * 1.5) + 1. Tương tự nguyên tắc, một phép chèn xảy ra ở giữa danh sách, cơ mà đồng thời, toàn bộ các phần tử theo sau phần tử được chèn những được dịch sang trọng phải. Vì chưng vậy, nếu chúng ta có 5 thành phần trong mảng và họ cần chèn một phần tử vào ô số 2 (nghĩa là ô trang bị ba), thì các phần tử mảng 0 cùng 1 vẫn giữ nguyên vị trí, 1 phần tử mới lộ diện trong ô 2 và tiền thân của chính nó đi mang đến ô thứ ba, v.v. 1 phần tử mới sẽ tiến hành thêm vào ô có chỉ số 0. Nếu không tồn tại đủ dung lượng, một mảng mới sẽ được tạo bên phía trong Array
List với form size (kích thước của Old
Array * 1.5) + 1. Tương tự như nguyên tắc, một phép chèn xảy ra ở thân danh sách, nhưng lại đồng thời, toàn bộ các thành phần theo sau thành phần được chèn phần đông được dịch lịch sự phải. Vị vậy, nếu chúng ta có 5 thành phần trong mảng và bọn họ cần chèn 1 phần tử vào ô số 2 (nghĩa là ô lắp thêm ba), thì các phần tử mảng 0 với 1 vẫn giữ nguyên vị trí, một phần tử mới xuất hiện trong ô 2 cùng tiền thân của nó đi cho ô đồ vật ba, v.v. Một phép chèn xẩy ra ở thân danh sách, tuy vậy đồng thời, tất cả các bộ phận theo sau bộ phận được chèn rất nhiều được dịch sang trọng phải. Vì vậy, nếu họ có 5 thành phần trong mảng và chúng ta cần chèn một phần tử vào ô số 2 (nghĩa là ô lắp thêm ba), thì các thành phần mảng 0 với 1 vẫn không thay đổi vị trí, một phần tử mới xuất hiện trong ô 2 và tiền thân của chính nó đi đến ô sản phẩm công nghệ ba, v.v. Một phép chèn xảy ra ở thân danh sách, tuy nhiên đồng thời, toàn bộ các bộ phận theo sau phần tử được chèn gần như được dịch lịch sự phải. Bởi vì vậy, nếu họ có 5 thành phần trong mảng và bọn họ cần chèn 1 phần tử vào ô số 2 (nghĩa là ô thứ ba), thì các bộ phận mảng 0 với 1 vẫn giữ nguyên vị trí, 1 phần tử mới xuất hiện thêm trong ô 2 và tiền thân của nó đi cho ô máy ba, v.v.

Ví dụ về danh sách Java (hiện thực hóa list mảng)

import java.util.*;public class Array
List
Example2 public static void main(String<> args) list my
Friends
List = new Array
List(); //we created danh mục of some objects System.out.println( "the kích thước of my
List before init = " + my
Friends
List.size()); my
Friends
List.add("Alex"); my
Friends
List.add("Tanya"); my
Friends
List.add("Veloxy"); my
Friends
List.add("Alex"); my
Friends
List.add("Andrew"); System.out.println(my
Friends
List); System.out.println( "the kích cỡ of my
List after init = " + my
Friends
List.size()); my
Friends
List.add("Ihor"); System.out.println(my
Friends
List); System.out.println("the size of my list = " + my
Friends
List.size()); //here the program will print out the first appearance of "Alex" element System.out.println(my
Friends
List.index
Of("Alex")); //program will print out the first appearance of "Alex" element starting from the element 0 my
Friends
List.remove(3); System.out.println(my
Friends
List.get(3)); System.out.println("after removing one of Alex"s there is only one Alex: " + my
Friends
List); System.out.println(my
Friends
List.get(1)); my
Friends
List.clear(); System.out.println("the kích thước of the vector after clear method = " + my
Friends
List.size()); Đây là cổng output của lịch trình này:

Chương trình thống trị sinh viên

Xây dựng công tác để làm chủ sinh viên với các chức năng:Khởi tạo list sinh viên
Thêm / chỉnh sửa sinh viên
Tìm tìm sinh viên
Sắp xếp list sinh viên
Xuất danh sách sinh viên ra màn hình
Chương trình sẽ bao hàm 4 Class:


Class Sinh
Vien để lưu tin tức cho sinh viên.Class Quan
Ly chứa các thuộc tính để làm chủ sinh viên như thêm, sửa, sắp xếp,...Class xu
Ly
Ten để bố trí danh sách sinh viên theo tên.Class Quan
Ly
Sinh
Vien đựng hàm main.
Line(); } private String nhap
Gioi
Tinh() System.out.print("Nhap gioi tinh: "); return sc.next
Line(); private String nhap
Nam
Sinh() System.out.print("Nhap phái mạnh sinh: "); return sc.next
Line(); private String nhap
Dia
Chi() System.out.print("Nhap dia chi: "); return sc.next
Line(); private float nhap
Gpa() System.out.print("Nhap diem GPA: "); return sc.next
Float(); private void swap(int i, int j) String name = sinh
Vien_list.get(i).get
Ho
Ten(); sinh
Vien_list.get(i).set
Ho
Ten(sinh
Vien_list.get(j).get
Ho
Ten()); sinh
Vien_list.get(j).set
Ho
Ten(name); String gt = sinh
Vien_list.get(i).get
Gioi
Tinh(); sinh
Vien_list.get(i).set
Gioi
Tinh(sinh
Vien_list.get(j).get
Gioi
Tinh()); sinh
Vien_list.get(j).set
Gioi
Tinh(gt); String ns = sinh
Vien_list.get(i).get
Nam
Sinh(); sinh
Vien_list.get(i).set
Nam
Sinh(sinh
Vien_list.get(j).get
Nam
Sinh()); sinh
Vien_list.get(j).set
Nam
Sinh(ns); String dc = sinh
Vien_list.get(i).get
Dia
Chi(); sinh
Vien_list.get(i).set
Dia
Chi(sinh
Vien_list.get(j).get
Dia
Chi()); sinh
Vien_list.get(j).set
Dia
Chi(dc); Float ga = sinh
Vien_list.get(i).get
Gpa(); sinh
Vien_list.get(i).set
Gpa(sinh
Vien_list.get(j).get
Gpa()); sinh
Vien_list.get(j).set
Gpa(ga); public void them
Sinh
Vien() System.out.print("Nhap so sinh vien can them vao sinh sach: "); int so
Sv = sc.next
Int(); for (int i = 0; i int ma
Sv = (sinh
Vien_list.size() > 0) ? (sinh
Vien_list.size() + 1) : 1; sc.next
Line(); System.out.println("--------------Sinh_Viên_" + ma
Sv + "----------------"); String ho
Ten = nhap
Ten(); String gioi
Tinh = nhap
Gioi
Tinh(); String nam
Sinh = nhap
Nam
Sinh(); String dia
Chi = nhap
Dia
Chi(); Float gpa = nhap
Gpa(); Sinh
Vien sv = new Sinh
Vien(ma
Sv, ho
Ten, gioi
Tinh, nam
Sinh, dia
Chi, gpa); sinh
Vien_list.add(sv); } public void in
Danh
Sach() System.out.println("-----------------DANH SÁCH SINH VIÊN-------------------"); for (int i = 0; i Sinh
Vien sv = new Sinh
Vien(); sv = sinh
Vien_list.get(i); System.out.println(sv.get
Ma
Sv() + " Ho&ten: " + sv.get
Ho
Ten() + " Gioi tinh: " + sv.get
Gioi
Tinh() + " phái nam sinh: " + sv.get
Nam
Sinh() + " Dia chi: " + sv.get
Dia
Chi() + " GPA: " + sv.get
Gpa()); } public void chinh
Sua() System.out.println("Nhap ma sinh vien can chinh sua: "); int ma
Sv = sc.next
Int(); sc.next
Line(); boolean kiểm tra = false; for (int i = 0; i if (ma
Sv == sinh
Vien_list.get(i).get
Ma
Sv()) kiểm tra = true; System.out.println("Nhap thong tin sinh vien can chinh sua: "); sinh
Vien_list.get(i).set
Ho
Ten(nhap
Ten()); sinh
Vien_list.get(i).set
Gioi
Tinh(nhap
Gioi
Tinh()); sinh
Vien_list.get(i).set
Nam
Sinh(nhap
Nam
Sinh()); sinh
Vien_list.get(i).set
Dia
Chi(nhap
Dia
Chi()); sinh
Vien_list.get(i).set
Gpa(nhap
Gpa()); break; if (!check) System.out.println("Ma sv khong hop le!"); } public void sap
Xep
Gpa() for (int i = 0; i for (int j = i + 1; j if (sinh
Vien_list.get(i).get
Gpa() > sinh
Vien_list.get(j).get
Gpa()) swap(i, j); } } public void sap
Xep
Ten() xu
Ly
Ten t = new xu
Ly
Ten(); for (int i = 0; i for (int j = i + 1; j if (t.sap
Xep(sinh
Vien_list.get(i).get
Ho
Ten(), sinh
Vien_list.get(j).get
Ho
Ten()) > 0) swap(i, j); } } public void tim
Kiem() boolean kiểm tra = false; System.out.print("Nhap ten sinh vien can tim kiem: "); sc.next
Line(); String name = sc.next
Line(); for (int i = 0; i if (sinh
Vien_list.get(i).get
Ho
Ten().equals(name)) System.out.println("-------------KET QUA TIM KIEM--------------"); System.out.println(sinh
Vien_list.get(i).get
Ma
Sv() + " Ho&ten: " + sinh
Vien_list.get(i).get
Ho
Ten() + " Gioi tinh: " + sinh
Vien_list.get(i).get
Gioi
Tinh() + " nam giới sinh: " + sinh
Vien_list.get(i).get
Nam
Sinh() + " Dia chi: " + sinh
Vien_list.get(i).get
Dia
Chi() + " GPA: " + sinh
Vien_list.get(i).get
Gpa()); kiểm tra = true; if(!check) System.out.println("Khong tim nỗ lực sinh vien!!!"); }}
public class xu
Ly
Ten public String chuan
Hoa(String name) name = name.trim(); while (-1 != name.index
Of(" ")) name = name.replace
All(" ", " "); return name; private String tach
Ho
Ten(String name) if(!name.contains(" ")) return name; int pos = name.last
Index
Of(" "); String first
Name = name.substring(pos + 1); String family
Name = name.substring(0, pos); name = first
Name.concat(" ").concat(family
Name); return name; public int sap
Xep(String name1, String name2) String n1 = tach
Ho
Ten(name1); String n2 = tach
Ho
Ten(name2); return n1.compare
To(n2);
param args the command line arguments */ public static void main(String<> args) Scanner sc = new Scanner(System.in); Quan
Ly ql = new Quan
Ly(); int menu; do "); System.out.println(" while (menu != 0); }