Google Guava庫
阿新 • • 發佈:2018-12-08
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);