Java – select the first index in the collection
                                        
                    •
                    Java                                    
                I sometimes feel like I'm reinventing the wheel
I want to know in Java / Jakarta commons / guava /? Whether there are any utility methods in the collection, which will go deeper in the collection and use elements to perform certain operations (test, modify, delete)
I wrote this method, and now I think there are some one-way trips that can be done
/**
 * 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;
}
Solution
Guava has an iterables with predicates indexOf:
int index = Iterables.indexOf(list,new Predicate<String> {
        @Override public boolean apply(String input) {
            return input.contains(search);
        }
    });
Admittedly, it's not better - and you need to search for the final But at least in Java 8, you will be able to write the following:
int index = Iterables.indexOf(list,input => input.contains(search));
(or at least something similar. Maybe in the extension method syntax...)
                            The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
                        
                                            
                        THE END
                    
                    
                    
                                                        二维码
                        
                        
                                                
                        