list.size trong java
Ngày đăng:
03/12/2021
Trả lời:
0
Lượt xem:
200
Show 1- List
List là một interface nằm trong nền tảng tập hợp của Java (Java Collection Framework), nó là một interface con của Collection vì vậy nó có đầy đủ các tính năng của một Collection, ngoài ra nó cung cấp cơ sở để duy trì một Collection có thứ tự (ordered Collection). Nó bao gồm các phương thức cho phép chèn, cập nhập, xoá và tìm kiếm một phần tử theo chỉ số. List cho phép các phần tử trùng lặp, và các phần tử null.
public interface List
Hệ thống phân cấp các lớp thi hành (implement) interface List:
LinkedList là một lớp đặc biệt, nó vừa thuộc nhóm List vừa thuộc nhóm Queue:
java.util.List
List cung cấp phương thức listIterator() trả về một đối tượng ListIterator cho phép lặp (iterate) trên các phần từ theo hướng tiến hoặc lùi. Các lớp thi hành interface List có thể kể tới là ArrayList, LinkedList, Stack, Vector. Trong đó ArrayList và LinkedList được sử dụng rộng rãi hơn cả.
Các phương thức được định nghĩa trong List:
List interface
public interface List2- Examples
List là một interface, vì vậy để tạo một đối tượng List bạn cần tạo thông qua một lớp thi hành nó, chẳng hạn ArrayList, LinkedList,..
ListEx1.java
package org.o7planning.list.ex;
import java.util.ArrayList;
import java.util.List;
public class ListEx1 {
public static void main(String[] args) {
// Create a List
List
Output:
One
Two
Three
Four
-----
One
Two
Four
Book.java
package org.o7planning.list.ex;
public class Book {
private String title;
private float price;
public Book(String title, float price) {
this.title = title;
this.price = price;
}
public String getTitle() {
return title;
}
public float getPrice() {
return price;
}
}
Ví dụ: Một đối tượng List chứa các kiểu dữ liệu Book.
ListEx2.java
package org.o7planning.list.ex;
import java.util.ArrayList;
import java.util.List;
public class ListEx2 {
public static void main(String[] args) {
Book b1 = new Book("Python Tutorial", 100f);
Book b2 = new Book("HTML Tutorial", 120f);
// Create an Unmodifiable List
List
Output:
Java Tutorial / 300.0
C# Tutorial / 200.0
Python Tutorial / 100.0
HTML Tutorial / 120.0
Array -> List
Phương thức tĩnh Arrays.asList(..) cho phép chuyển đổi một mảng thành một đối tượng List, tuy nhiên đối tượng này có kích thước cố định, không thể thêm hoặc loại bỏ các phần tử sẵn có, vì nó không hỗ trợ các phương thức tuỳ chọn: add, remove, set và clear.
ListEx3.java
package org.o7planning.list.ex;
import java.util.Arrays;
import java.util.List;
public class ListEx3 {
public static void main(String[] args) {
Book b1 = new Book("Python Tutorial", 100f);
Book b2 = new Book("HTML Tutorial", 120f);
Book b3 = new Book("Java Tutorial", 300f);
Book[] bookArray = new Book[] {b1, b2, b3};
// Create a Fixed-size List.
List
Output:
Book: Python Tutorial
Book: HTML Tutorial
Book: Java Tutorial
3- listInterator()
Phương thức listIterator() trả về một đối tượng ListIterator cho phép bạn lặp (iterate) trên các phần tử của danh sách theo chiều tiến hoặc lùi.
ListIterator
Ví dụ:
List_listIterator.java
package org.o7planning.list.ex;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class List_listIterator {
public static void main(String[] args) {
// Create a List
List
Output:
First:One
Second:Two
Jump back...
Value:Two
-----
Value:Two
Value:Three
Value:Four
4- stream()
List là một interface con của Collection, vì vậy nó được thừa kế phương thức stream(). Truy cập vào các phần tử của một Collection thông qua Stream sẽ giúp code của bạn ngắn gọn và dễ hiểu hơn:
List_stream.java
package org.o7planning.list.ex;
import java.util.ArrayList;
import java.util.List;
public class List_stream {
public static void main(String[] args) {
Book b1 = new Book("Python Tutorial", 100f);
Book b2 = new Book("HTML Tutorial", 120f);
// Create an Unmodifiable List
List
Output:
Java Tutorial / 300.0
C# Tutorial / 200.0
HTML Tutorial / 120.0
5- subList(int,int)
Phương thức subList(int,int) trả về một chế độ xem một phần của đối tượng List hiện tại, bao gồm các phần tử từ chỉ số fromIndex đến toIndex.
Đối tượng "subList" và đối tượng List hiện tại có liên thông với nhau, chẳng hạn nếu bạn xoá một phần tử trên "subList" thì phần tử đó cũng bị xoá khỏi đối tượng List hiện tại.
List
List_subList.java
package org.o7planning.list.ex;
import java.util.ArrayList;
import java.util.List;
public class List_subList {
public static void main(String[] args) {
// Create a List
List
Output:
Elements in subList:
B
C
Elements in original List after removing all elements from subList:
A
D
E
6- spliterator()
Tạo một đối tượng Spliterator cho việc duyệt và phân vùng (traversing and partitioning) các phần tử của List.
default Spliterator
Spliterator được sử dụng rộng rãi cho việc duyệt và phân vùng (traversing and partitioning) nhiều nguồn dữ liệu khác nhau như Collection (List, Set, Queue), BaseStream, array.
7- toArray(..)
Phương thức toArray(..) trả về một mảng chứa tất cả các phần tử của List.
Object[] toArray();
Ví dụ:
List_toArray.java
package org.o7planning.list.ex;
import java.util.ArrayList;
import java.util.List;
public class List_toArray {
public static void main(String[] args) {
List
Output:
A
B
C
D
E
8- sort(Comparator)
Phương thức mặc định sort(Comparator) dựa vào đối tượng Comparator được cung cấp để so sánh các phần tử trong List, và xắp xếp lại thứ tự của chúng.
default void sort(Comparator c)
Ví dụ: Một đối tượng List chứa các phần tử kiểu Book, chúng ta sẽ xắp xếp chúng tăng dần theo giá và tiêu đề.
List_sort_ex1.java
package org.o7planning.list.ex;
import java.util.ArrayList;
import java.util.List;
public class List_sort_ex1 {
public static void main(String[] args) {
Book b1 = new Book("Python Tutorial", 100f);
Book b2 = new Book("HTML Tutorial", 120f);
Book b3 = new Book("Java Tutorial", 300f);
Book b4 = new Book("Javafx Tutorial", 100f);
Book b5 = new Book("CSS Tutorial", 300f);
List
Output:
100.0 : Javafx Tutorial
100.0 : Python Tutorial
120.0 : HTML Tutorial
300.0 : CSS Tutorial
300.0 : Java Tutorial
Ví dụ trên sử dụng một số khái niệm mới được giới thiệu từ Java 8 như Functional interface, biểu thức Lambda, bạn có thể đọc thêm các bài viết dưới đây để nhận được giải thích chi tiết hơn:
9- replaceAll(UnaryOperator)
Phương thức replaceAll(UnaryOperator) sử dụng tham số UnaryOperator được cung cấp để thay thế mỗi phần tử trong List bởi một phần tử mới.
default void replaceAll(UnaryOperator
Ví dụ: Một List chứa các phần tử kiểu Book, thay thế mỗi phần tử Book của nó bởi một Book mới với giá tăng 50%.
List_replaceAll.java
package org.o7planning.list.ex;
import java.util.ArrayList;
import java.util.List;
public class List_replaceAll {
public static void main(String[] args) {
Book b1 = new Book("Python Tutorial", 100f);
Book b2 = new Book("HTML Tutorial", 120f);
Book b3 = new Book("Java Tutorial", 300f);
Book b4 = new Book("Javafx Tutorial", 100f);
Book b5 = new Book("CSS Tutorial", 300f);
List
Output:
150.0 : Python Tutorial
180.0 : HTML Tutorial
450.0 : Java Tutorial
150.0 : Javafx Tutorial
450.0 : CSS Tutorial
|