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 Pattern. Do đó, khoá List<Pattern> thay vì List<String> như trong một trie tiêu chuẩn. Xin lưu ý rằng phương thức
retrieve(String...) sẽ được so khớp từng điểm với Patterns,
thay vì được kiểm tra về sự bằng nhau từng điểm như trong một trie tiê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ột mục null trong chuỗi Pattern để đóng vai trò là ký tự đại diện. Nếu
gặp phải 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 phải null Pattern, trước tiên, mã này sẽ chờ xem liệu có mục cụ thể hơn nào khớp với chuỗi hay không. Nếu có, mục cụ thể hơn đó sẽ tiếp tục,
ngay cả khi sau đó không khớp.
Nếu không có mục cụ thể hơn nào khớp, thì kết quả khớp với ký tự đại diện sẽ thêm tất cả Strings
còn lại vào danh sách kết quả khớp (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 [[], []]
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, String... regexen)
Phương thức trợ giúp này lấy một danh sách các biểu thức chính quy làm |
V
|
put(V value, Pattern... patterns)
Thêm một mục vào trie. |
V
|
retrieve(String... strings)
Tìm nạp một giá trị từ trie bằng cách so khớp chuỗi |
V
|
retrieve(List<List<String>> captures, String... strings)
Tìm nạp một giá trị từ trie bằng cách so khớp chuỗi |
String
|
toString()
|
Hàm khởi tạo công khai
RegexTrie
public RegexTrie ()
Phương thức công khai
xóa
public void clear ()
put
public V put (V value,
String... regexen)Phương thức trợ giúp này lấy một danh sách các biểu thức chính quy làm Strings và biên dịch chúng
ngay lập tức trước khi thêm các Patterns tiếp theo vào trie
| Tham số | |
|---|---|
value |
V: Giá trị cần đặt |
regexen |
String: Chuỗi các biểu thức chính quy (dưới dạng Strings) phải được so khớp tuần tự để truy xuất value được liên kết. Mỗi String sẽ được
biên dịch dưới dạng Pattern trước khi gọi put(Object,Pattern...). |
| Giá trị trả về | |
|---|---|
V |
|
put
public V put (V value,
Pattern... patterns)Thêm một mục vào trie.
| Tham số | |
|---|---|
value |
V: Giá trị cần đặt |
patterns |
Pattern: Chuỗi 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)
Tìm nạp một giá trị từ trie bằng cách so khớp chuỗi String được cung cấp với a
chuỗi Pattern được lưu trữ trong trie.
| Tham số | |
|---|---|
strings |
String: Chuỗi String cần 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 (List<List<String>> captures,
String... strings)Tìm nạp một giá trị từ trie bằng cách so khớp chuỗi String được cung cấp với a
chuỗi Pattern được lưu trữ trong trie. Phiên bản này của phương thức cũng trả về
một List của các nhóm kết quả khớp cho từng Pattern đã được so 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 trie.
Đối với mỗi cấp, danh sách các nhóm kết quả khớp sẽ được lưu trữ. Nếu không có kết quả khớp
cho một cấp cụ thể, thì một danh sách trống sẽ được lưu trữ.
Xin lưu ý rằng captures sẽ được List.clear() trước khi quá trình truy xuất bắt đầu.
Ngoài ra, nếu quá trình truy xuất không thành công sau một chuỗi kết quả khớp một phần, thì captures sẽ
vẫn phản ánh các nhóm kết quả khớp từ kết quả khớp một phần.
| Tham số | |
|---|---|
captures |
List: List<List<String>> mà qua đó các nhóm kết quả khớp sẽ được trả về. |
strings |
String: Chuỗi String cần 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 |
|