package com.levelup.java.collections; import static org.junit.Assert.assertEquals; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import org.junit.Test; import com.google.common.collect.FluentIterable; import com.google.common.collect.Lists; /** * This java example will demonstrate taking the * first n elements from array list. * * @author Justin Musgrove * @see <a href='http://www.leveluplunch.com/java/examples/limit-or-take-first-elements-from-list/'></a> */ public class TakeNElementsFromList { @Test public void limit_array_list_size_java () { List<Integer> contestents = new ArrayList<Integer>(8); contestents.add(1); contestents.add(2); contestents.add(3); contestents.add(4); contestents.add(5); contestents.add(6); contestents.add(7); contestents.add(8); contestents.add(9); List<Integer> contestWinners = contestents.subList(0, 5); assertEquals(5, contestWinners.size()); } @Test public void limit_array_list_size_java8 () { List<Integer> contestents = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8); List<Integer> contestWinners = contestents .stream() .limit(5) .collect(Collectors.toList()); assertEquals(5, contestWinners.size()); } @Test public void limit_array_list_size_guava() { List<Integer> contestents = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8); List<Integer> contestWinners = FluentIterable.from(contestents) .limit(5).toList(); assertEquals(5, contestWinners.size()); } }