Guava全文介紹位址:Google Guava
這次主要介紹是的是com.google.common.collect.Lists.主要的作用是就與java List相關的靜态的實用方法。在Guava中與之類似的還有Sets,Maps以及Queues這些類。
下面就介紹一個Lists的主要用法:
1、對List進行切割
@Test
public void testPartition() {
List<Integer> numbers = Lists.newArrayList(, , , );
List<List<Integer>> subLists = Lists.partition(numbers, );
List<Integer> s1 = Lists.newArrayList(, );
List<Integer> s2 = Lists.newArrayList(, );
assertThat(subLists.get(), is(s1));
assertThat(subLists.get(), is(s2));
}
2、對List進行反轉
@Test
public void testReverse() {
List<Integer> numbers = Lists.newArrayList(, , , );
List<Integer> expected = Lists.newArrayList(, , , );
List<Integer> reversed = Lists.reverse(numbers);
assertThat(expected, is(reversed));
}
3、進List進行轉換
@Test
public void testGainNameForUser() throws Exception {
User user1 = User.builder().idCard(L).gender().name("carl").build();
User user2 = User.builder().idCard(L).gender().name("erin").build();
User user3 = User.builder().idCard(L).gender().name("kevin").build();
List<User> users = Lists.newArrayList(user1, user2, user3);
List<String> names = Lists.transform(users, new Function<User, String>() {
@Override
public String apply(User input) {
return input.getName();
}
});
assertThat(names, is(Lists.newArrayList("carl", "erin", "kevin")));
}
更多功能等待你的發現。