1. 程式人生 > >Google Guava庫

Google Guava庫

Google guava通了強大的工具類來簡化程式碼。列舉常用的集中類:

原文:https://ifeve.com/google-guava/

        //不可變集合
        ImmutableList<Integer> list = ImmutableList.of(1, 2, 3, 4);
        ImmutableMap<String, String> map = ImmutableMap.of("a", "b", "a1", "b1");

        //基本型別的比較
        int intc = Ints.compare(1, 2);
        int longc = Longs.compare(1L, 2L);

        //字串拼接 skipNulls:過濾null,useForNull:null的替換
        int[] numbers = {1, 2, 3, 4, 5};
        String join = Joiner.on(";").skipNulls().useForNull("==").join(Ints.asList(numbers));
        String join1 = Joiner.on(";").skipNulls().join(Ints.asList(numbers));
        String join2 = Joiner.on(";").useForNull("==").join(Ints.asList(numbers));
        Ints.join(";", numbers);

        //分隔符拼接 omitEmptyStrings:去除分隔結果為空格的資料,trimResults去除分隔結果的前後空格
        String spiltString = "join,,tws,test,,";
        List<String> splitList = Splitter.on(",").omitEmptyStrings().trimResults().splitToList(spiltString);

        //Ints
        int[] array = {1, 2, 3, 4, 5};
        int a = 3;
        boolean contains = Ints.contains(array, a);
        int indexOf = Ints.indexOf(array, a);
        int max = Ints.max(array);
        int min = Ints.min(array);
        int[] concat = Ints.concat(array, array);

        //集合
        HashSet<Integer> setA = Sets.newHashSet(1, 2, 3);
        HashSet<Integer> setB = Sets.newHashSet(4, 5, 3);
        Sets.SetView<Integer> union = Sets.union(setA, setB); //交集
        Sets.SetView<Integer> difference = Sets.difference(setA, setB); //並集
        Sets.SetView<Integer> intersection = Sets.intersection(setA, setB); //差集

        Preconditions.checkArgument(1 > 2, "error");

        //Lists
        ArrayList<Object> listC = Lists.newArrayList();
        //集合分割
        List<List<Integer>> partition = Lists.partition(list, 200);
        //集合翻轉
        List<Integer> reverse = Lists.reverse(list);