general java
[Guava] Iterables.limit()
'김용환'
2016. 3. 24. 19:28
Iterables.limit() 메소드는 리스트의 개수를 주어진 개수만큼만 잘라 리턴한다.
List<String> list = new ArrayList<String>() { { add("1");add("2");add("3"); } };
List<String> newList = Lists.newArrayList(Iterables.limit(list, 1));
System.out.println(newList);
결과
[1]
좀 더 고급스럽게 쓰려면 다음과 같이 사용한다.
limit 메소드를 정의하여 크기의 개수를 통제하여 List를 리턴한다.
public static <E> List<E> limit(List<E> list, int size) {
if (list == null) {
return Collections.emptyList();
}
return Lists.newArrayList(Iterables.limit(list, size));
}
동작 코드는 다음과 같다.
List<String> list = new ArrayList<String>() { {add("1");add("2");add("3"); } };
List limited = limit(list, 2);
System.out.println(limited);
결과
[1]