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 ERROR(/Pattern)
. Do đó, khoá List<Pattern>
thay vì List<String>
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 |
V
|
retrieve(
Truy xuất một giá trị từ cây ba chiều bằng cách so khớp trình tự |
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 |