天天看點

Guava collections -- Lists

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")));
    }
           

更多功能等待你的發現。