com.google.common.collect.Iterators#tryFind ( )源码实例Demo

下面列出了com.google.common.collect.Iterators#tryFind ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Test
public void find_element_in_array_java_with_guava() {

	Integer[] vikQueensLosingSeasons = { 1962, 1967, 1984, 2011, 1966,
			1963, 1982, 2001, 1990, 2002, 2006, 2010, 1965, 1972, 1979,
			1981, 1985 };

	Optional<Integer> contains = Iterators.tryFind(
			Iterators.forArray(vikQueensLosingSeasons),
			new Predicate<Integer>() {

				public boolean apply(Integer input) {
					if (input == 1962) {
						return true;
					} else {
						return false;
					}
				}
			});
	
	assertTrue(contains.isPresent());
	assertEquals(new Integer(1962), contains.get());
}
 
private BatchPreparedStatementUnit getPreparedBatchStatement(final SQLExecutionUnit sqlExecutionUnit) throws SQLException {
    Optional<BatchPreparedStatementUnit> preparedBatchStatement = Iterators.tryFind(batchStatementUnits.iterator(), new Predicate<BatchPreparedStatementUnit>() {
        
        @Override
        public boolean apply(final BatchPreparedStatementUnit input) {
            return Objects.equals(input.getSqlExecutionUnit(), sqlExecutionUnit);
        }
    });
    if (preparedBatchStatement.isPresent()) {
        return preparedBatchStatement.get();
    }
    BatchPreparedStatementUnit result = new BatchPreparedStatementUnit(sqlExecutionUnit, generatePreparedStatement(sqlExecutionUnit));
    batchStatementUnits.add(result);
    return result;
}
 
private Optional<TaskContext> findTask(final TaskContext taskContext) {
    return Iterators.tryFind(getRunningTasks(taskContext.getMetaInfo().getJobName()).iterator(), new Predicate<TaskContext>() {
        @Override
        public boolean apply(final TaskContext input) {
            return input.equals(taskContext);
        }
    });
}
 
源代码4 项目: streams   文件: SchemaOrderingTest.java
/**
 * assert iterator of Schema contains URI items ending with in order.
 * @param iterator Iterator of Schema
 * @param items List of String
 */
public void assertContainsItemsEndingWithInOrder(Iterator<Schema> iterator, List<String> items) {
  for ( String item : items ) {
    Optional<Schema> tryFind = Iterators.tryFind( iterator, new SchemaUriEndsWithPredicate(item) );
    Assert.assertTrue(tryFind.isPresent());
  }
}