RegexTrie

public class RegexTrie
extends Object

java.lang.Object
   ↳ com.android.tradefed.util.RegexTrie<V>


RegexTrie là một trie, trong đó mỗi phân đoạn được lưu trữ của khoá là một biểu thức chính quy ERROR(/Pattern). Do đó, khoá được lưu trữ đầy đủ là List&lt;Pattern&gt; thay vì List&lt;String&gt; như trong bộ ba chuẩn. Lưu ý rằng phương thức retrieve(String) sẽ được so khớp từng điểm với các Pattern, thay vì kiểm tra tính bằng nhau từng điểm như trong cây ba chiều chuẩn. Do đó, phương thức này có thể hoạt động kém hiệu quả đối với các tập dữ liệu lớn.

Bạn cũng có thể sử dụng mục nhập null trong trình tự Pattern để làm ký tự đại diện. Nếu gặp null, tất cả các mục tiếp theo trong trình tự sẽ bị bỏ qua. Khi gặp null Pattern, trước tiên, mã truy xuất sẽ đợi xem liệu một mục nhập cụ thể hơn có khớp với trình tự hay không. Nếu có, mục nhập cụ thể hơn đó sẽ tiếp tục, ngay cả khi sau đó không khớp.

Nếu không có mục nhập nào khớp cụ thể hơn, thì kiểu khớp ký tự đại diện sẽ thêm tất cả String còn lại vào danh sách các mục đã chụp (nếu được bật) và trả về giá trị liên kết với ký tự đại diện.

Mẫu ngắn về chức năng ký tự đại diện:

 List<List<String>> captures = new LinkedList<List<String>>();
 RegexTrie<Integer> trie = new RegexTrie<Integer>();
 trie.put(2, "a", null);
 trie.put(4, "a", "b");
 trie.retrieve(captures, "a", "c", "e");
 // returns 2.  captures is now [[], ["c"], ["e"]]
 trie.retrieve(captures, "a", "b");
 // returns 4.  captures is now [[], []]
 trie.retrieve(captures, "a", "b", "c");
 // returns null.  captures is now [[], []]
 

Tóm tắt

Hàm khởi tạo công khai

RegexTrie()

Phương thức công khai

void clear()
V put(V value, Pattern... patterns)

Thêm một mục vào cây ba chiều.

V retrieve(String... strings)

Tìm nạp một giá trị từ bộ ba bằng cách so khớp chuỗi String được cung cấp với một chuỗi ERROR(/Pattern) được lưu trữ trong bộ ba.

V retrieve( captures, String... strings)

Truy xuất một giá trị từ cây ba chiều bằng cách so khớp trình tự String được cung cấp với trình tự ERROR(/Pattern) được lưu trữ trong cây ba chiều.

String toString()

Hàm khởi tạo công khai

Biểu thức chính quy

public RegexTrie ()

Phương thức công khai

xóa

public void clear ()

đặt

public V put (V value, 
                Pattern... patterns)

Thêm một mục vào cây ba chiều.

Tham số
value V: Giá trị cần đặt

patterns Pattern: Trình tự ERROR(/Pattern) phải được so khớp tuần tự để truy xuất value được liên kết

Giá trị trả về
V

truy xuất

public V retrieve (String... strings)

Truy xuất một giá trị từ cây ba chiều bằng cách so khớp trình tự String được cung cấp với trình tự ERROR(/Pattern) được lưu trữ trong cây ba chiều.

Tham số
strings String: Một trình tự String để so khớp

Giá trị trả về
V Giá trị được liên kết hoặc null nếu không tìm thấy giá trị nào

truy xuất

public V retrieve ( captures, 
                String... strings)

Truy xuất một giá trị từ cây ba chiều bằng cách so khớp trình tự String được cung cấp với trình tự ERROR(/Pattern) được lưu trữ trong cây ba chiều. Phiên bản phương thức này cũng trả về một ERROR(/List) của các nhóm thu thập cho mỗi ERROR(/Pattern) đã so khớp.

Mỗi mục trong Danh sách bên ngoài tương ứng với một cấp của Pattern trong bộ nhớ. Đối với mỗi cấp, danh sách các nhóm chụp sẽ được lưu trữ. Nếu không có bản ghi nào cho một cấp độ cụ thể, thì danh sách trống sẽ được lưu trữ.

Xin lưu ý rằng captures sẽ được ERROR(/List#clear()) trước khi quá trình truy xuất bắt đầu. Ngoài ra, nếu không truy xuất được sau một trình tự khớp một phần, captures sẽ vẫn phản ánh các nhóm thu thập từ kết quả khớp một phần.

Tham số
captures : List<List<String>> thông qua đó các nhóm chụp sẽ được trả về.

strings String: Một trình tự String để so khớp

Giá trị trả về
V Giá trị được liên kết hoặc null nếu không tìm thấy giá trị nào

toString

public String toString ()

Giá trị trả về
String