public static <T> int indexOf(Collection<T> collection, Matcher<T> matcher) {
		if (isNotEmpty(collection)) {
			int index = 0;
			for (T t : collection) {
				if (null == matcher || matcher.match(t)) {
					return index;
				}
				index++;
			}
		}
		return -1;
	}
@Test
	public void indexOfTest() {
		final ArrayList<String> list = CollUtil.newArrayList("a", "b", "c", "c", "a", "b", "d");
		final int i = CollUtil.indexOf(list, (str) -> str.charAt(0) == 'c');
		assertEquals(2, i);
	}