我有时觉得我正在重新发明轮子.
我想知道在java/jakarta commons/guava /?中是否有任何实用程序方法,这将在集合中更深入并使用元素执行某些操作(测试,修改,删除).
我写了这个方法,现在我觉得有一些单行程可以做到.
/**
* Find index of first line that contains search string.
*/
public static int findIdx(List<String> list, String search) {
for (int i = 0, n = list.size(); i < n; i++)
if (list.get(i).contains(search))
return i;
return -1;
}
Run Code Online (Sandbox Code Playgroud)
番石榴有Iterables.indexOf一个谓词:
int index = Iterables.indexOf(list, new Predicate<String> {
@Override public boolean apply(String input) {
return input.contains(search);
}
});
Run Code Online (Sandbox Code Playgroud)
不可否认,并不是更好 - 而且你需要做出search决定.但至少在Java 8中,您将能够编写如下内容:
int index = Iterables.indexOf(list, input => input.contains(search));
Run Code Online (Sandbox Code Playgroud)
(或者至少是类似的东西.可能在扩展方法语法中......)
| 归档时间: |
|
| 查看次数: |
1318 次 |
| 最近记录: |