加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 选择集合中的第一个索引

发布时间:2020-12-15 08:44:42 所属栏目:Java 来源:网络整理
导读:我有时觉得我正在重新发明轮子. 我想知道在java / jakarta commons / guava /?中是否有任何实用程序方法,这将在集合中更深入并使用元素执行某些操作(测试,修改,删除). 我写了这个方法,现在我觉得有一些单行程可以做到. /** * Find index of first line that
我有时觉得我正在重新发明轮子.

我想知道在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;
}

解决方法

Guava有一个带谓词的Iterables.indexOf:

int index = Iterables.indexOf(list,new Predicate<String> {
        @Override public boolean apply(String input) {
            return input.contains(search);
        }
    });

不可否认,并不是更好 – 而且你需要进行搜索决赛.但至少在Java 8中,您将能够编写如下内容:

int index = Iterables.indexOf(list,input => input.contains(search));

(或者至少是类似的东西.可能在扩展方法语法中……)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读