RegexTrie

public class RegexTrie
extends Object

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


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

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

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

Một 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 [[], []]
 

Bản tóm tắt

Nhà thầu xây dựng công cộng

RegexTrie ()

Phương pháp công khai

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

Thêm một mục vào tri.

V retrieve (String... strings)

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

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

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

String toString ()

Nhà thầu xây dựng công cộng

RegexTrie

public RegexTrie ()

Phương pháp công khai

thông thoáng

public void clear ()

đặt

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

Thêm một mục vào tri.

Thông số
value V : Giá trị cần đặt

patterns Pattern : Chuỗi ERROR(/Pattern) phải được khớp tuần tự để truy xuất value liên quan

Trả lại
V

lấy lại

public V retrieve (String... strings)

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

Thông số
strings String : Một chuỗi String s để khớp

Trả lại
V Giá trị liên quan hoặc null nếu không tìm thấy giá trị nào

lấy lại

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

Tìm nạp một giá trị từ trie, bằng cách khớp chuỗi String s được cung cấp với chuỗi ERROR(/Pattern) s được lưu trữ trong trie. Phiên bản này của phương thức cũng trả về ERROR(/List) của các nhóm chụp cho mỗi ERROR(/Pattern) được khớp.

Mỗi mục trong Danh sách bên ngoài tương ứng với một cấp độ Pattern trong bộ ba. Đố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ó ảnh chụp nào cho một cấp độ cụ thể, một danh sách trống sẽ được lưu trữ.

Lưu ý rằng captures sẽ được chỉnh sửa ERROR(/List#clear()) trước khi quá trình truy xuất bắt đầu. Ngoài ra, nếu việc truy xuất không thành công sau một phần chuỗi khớp, captures sẽ vẫn phản ánh các nhóm chụp từ khớp một phần.

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

strings String : Một chuỗi String s để khớp

Trả lại
V Giá trị liên quan hoặc null nếu không tìm thấy giá trị nào

toString

public String toString ()

Trả lại
String