[英]Check if ArrayList<String> contains part of a string
說我有一個ArrayList:
<string1.4>
<string2.4>
<string3.4>
我希望在我說arrayList.containsSubString('string1');時返回arrayList的第一個元素。 除了遍歷arrayList
每個元素並檢查string1
是否是該元素字符串的子字符串之外, arrayList
?
我能想到的唯一方法是執行以下操作:
strs.get(strs.indexOf(new Object() {
@Override
public boolean equals(Object obj) {
return obj.toString().contains(s);
}
}));
不知道這是否被認為是好的做法。
不行 即使存在List.contains()的等效項,它也只能在后台進行線性搜索。
我認為遍歷列表並檢查每個項目是最快的方法。 這也是每個人都理解您的代碼的方式。 (除了構建自己的數據結構外)。
無論如何,您也可以使用org.apache.commons.collections.CollectionUtils#find(Collection, Predicate)
find(java.util.Collection collection, Predicate predicate)
查找給定集合中與給定謂詞匹配的第一個元素。
您可以使用NavigableSet
NavigableSet<String> set = new TreeSet<String>();
// add strings
String find =
String firstMatch = set.ceiling(find);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.