package com.levelup.java.array;
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.apache.commons.lang3.ArrayUtils;
import org.junit.Test;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterators;
import com.google.common.primitives.Ints;
/**
* This java example will demonstrate finding
* the index of an element in array
*
* @author Justin Musgrove
* @see <a href='http://www.leveluplunch.com/java/examples/find-element-index-in-array/'>Find element index in array</a>
*
*/
public class ElementIndexInArray {
@Test
public void element_index_in_array_java () {
String[] lilyFlowers = {
"Lily of the valley",
"Lily Elite",
"Lily Monte Negro",
"Lily Casa Blanca",
"Lily of the Nile – Alba",
"Lily Stargazer"};
int indexOfFlower = Arrays.asList(lilyFlowers).indexOf("Lily Monte Negro");
assertEquals(2, indexOfFlower);
}
@Test
public void element_index_in_int_array_java () {
Integer[] twoQuarters = {1, 2, 3, 4, 5, 6};
int endOfFirstQuarter = Arrays.asList(twoQuarters).indexOf(3);
assertEquals(2, endOfFirstQuarter);
}
@Test
public void element_index_in_array_java_with_guava () {
String[] lilyFlowers = {
"Lily of the valley",
"Lily Elite",
"Lily Monte Negro",
"Lily Casa Blanca",
"Lily of the Nile – Alba",
"Lily Stargazer"};
int indexOfFlower = Iterators.indexOf(Iterators.forArray(lilyFlowers), new Predicate<String>() {
public boolean apply(String input) {
return input.equals("Lily Elite");
}
});
assertEquals(1, indexOfFlower);
}
@Test
public void element_index_of_ints_in_array_java_with_guava () {
int [] twoQuarters = {1, 2, 3, 4, 5, 6};
int lastMonthInFirstQuarter = Ints.indexOf(twoQuarters, 3);
assertEquals(2, lastMonthInFirstQuarter);
}
@Test
public void element_index_of_string_array_java_with_apache_commons() {
String[] lilyFlowers = { "Lily of the valley", "Lily Elite",
"Lily Monte Negro", "Lily Casa Blanca",
"Lily of the Nile – Alba", "Lily Stargazer" };
int indexOfFlower = ArrayUtils.indexOf(lilyFlowers, "Lily Elite");
assertEquals(1, indexOfFlower);
}
@Test
public void element_index_of_int_array_java_with_apache_commons() {
int [] twoQuarters = {1, 2, 3, 4, 5, 6};
int lastMonthInFirstQuarter = ArrayUtils.indexOf(twoQuarters, 3);
assertEquals(2, lastMonthInFirstQuarter);
}
}