guava-collections
生活随笔
收集整理的這篇文章主要介紹了
guava-collections
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JDK和Guava對應關系
Lists :
partition(List, int):按指定大小分割list, int為分割的大小 @Testpublic void testPartition() {ArrayList<Source> li = Lists.newArrayList();Source source1 = new Source();source1.setName("a");li.add(source1);Source source2 = new Source();source2.setName("c");li.add(source2);Source source3 = new Source();source3.setName("b");li.add(source3);List<List<Source>> partition = Lists.partition(li, 1);for (List<Source> list : partition) {System.out.println(list);//[Source{list=[], name='a'}]//[Source{list=[], name='c'}] //[Source{list=[], name='b'}] }}?
reverse(List):將list集合元素反轉,不可變List用ImmutableList.reverse()。 注意: 并不是改變原list , 而是返回一個新的list ,需要定義變量接收 @Testpublic void testInts() {int[] arr = {1,2,3,45};List<Integer> integers = Ints.asList(arr);// [1, 2, 3, 45] List<Integer> reverse = Lists.reverse(integers);System.out.println(integers);//[1, 2, 3, 45]System.out.println(reverse);//[45, 3, 2, 1] }?
Sets: @Testpublic void testSets() {Set<String> set1 = Sets.newHashSet();set1.add("b");set1.add("c");Set<String> set2 = Sets.newHashSet();set2.add("a");set2.add("b");Sets.SetView<String> difference = Sets.difference(set1, set2);// 取左差集System.out.println(difference);//[c] Sets.SetView<String> symmetricDifference = Sets.symmetricDifference(set1, set2);// 取兩方差集System.out.println(symmetricDifference);//[c, a] Sets.SetView<String> intersection = Sets.intersection(set1, set2);// 取交集System.out.println(intersection);//[b] Sets.SetView<String> union = Sets.union(set1, set2);// 取并集System.out.println(union);//[b, c, a]// 過濾,結果集中只包含返回true的Set<String> filter = Sets.filter(set1, new Predicate<String>() {@Overridepublic boolean apply(String s) {return s.equals("b");}});System.out.println(filter);//[b] } immutableEnumSet( E anElement, E... otherElements):返回一個包含給定枚舉元素的不可變的Set實例。 immutableEnumSet( Iterable<E> elements):返回一個包含給定枚舉元素的不可變的Set實例。 newEnumSet(Iterable<E> iterable,Class<E> elementType):返回一個包含給定元素的EnumSet實例,與EnumSet#copyOf(Collection)方法不同,當給定集合為 空的時候,不會產生異常,它可以轉換任何實現了Iterable接口的類,不僅僅是Collection。它會先根據傳入的元素類型創建一個空的 EnumSet,再把給定的元素添加到EnumSet返回。 newHashSet():返回一個可變的空的HashSet實例。 newHashSet(E... elements):返回一個可變買的HashSet包含給定的元素。 newHashSetWithExpectedSize(int expectedSize):構造一個期望長度為expectedSize的HashSet實例。 newHashSet(Iterable<? extends E> elements):返回一個可變的HashSet包含給定的元素,給定元素實現Iterable接口。 newHashSet(Iterator<? extends E> elements):返回一個可變的HashSet包含給定的元素,給定元素實現Iterator接口。 newConcurrentHashSet():創建一個線程安全的Set,由ConcurrentHashMap的實例支持,因此進行了相同的并發性擔保,與HashSet不同的是,這個Set不允許null元素,該Set是可序列化的。 newConcurrentHashSet( Iterable<? extends E> elements):創建一個線程安全的Set,包含給定的元素,由ConcurrentHashMap的實例支持,因此進行了相同的并發性擔保,與 HashSet不同的是,這個Set不允許null元素,該Set是可序列化的。 newLinkedHashSet():創建一個可變的、空的LinkedHashSet實例。 newLinkedHashSetWithExpectedSize( int expectedSize):構造一個期望長度為expectedSize的LinkedHashSet實例。 newLinkedHashSet( Iterable<? extends E> elements):構造一個包含給定元素的LinkedHashSet實例。 newTreeSet():返回一個可變的空的TreeSet實例。 newTreeSet( Iterable<? extends E> elements):返回一個可變的包含給定元素的TreeSet實例。 newTreeSet(Comparator<? super E> comparator):創建一個具有給定的比較器可變TreeSet的實例。 newIdentityHashSet():創建一個空的Set,使用特性來確定是否相等。 newCopyOnWriteArraySet():創建一個空的CopyOnWriteArraySet實例。 newCopyOnWriteArraySet( Iterable<? extends E> elements):創建一個包含給定元素的CopyOnWriteArraySet實例。 complementOf(Collection<E> collection):創建一個EnumSet包括不屬于指定集合中的所有枚舉值。 complementOf( Collection<E> collection, Class<E> type):創建一個EnumSet包括不屬于指定集合中的所有枚舉值。 newSetFromMap(Map<E, Boolean> map):返回一個由給定map支持的Set。 union( final Set<? extends E> set1, final Set<? extends E> set2):返回兩個set集合的并集的不可修改SetView。(若A和B是集合,則A和B并集是有所有A的元素和所有B的元素,而沒有其他元素的集 合) intersection( final Set<E> set1, final Set<?> set2):返回兩個set集合的交集的不可修改SetView。(兩個集合A 和 集合B 的交集是指含有所有既屬于 A 又屬于 B 的元素,而沒有其他元素的集合) difference( final Set<E> set1, final Set<?> set2):返回兩個set集合的差的不可修改SetView。(A,B是兩個集合,則所有屬于A且不屬于B的元素構成的集合,叫做A與B的差集) symmetricDifference( Set<? extends E> set1, Set<? extends E> set2):返回兩個set集合的對稱差的不可修改SetView。(對稱差,即兩個集合的對稱差是只屬于其中一個集合,而不屬于另一個集合的元素組成的 集合) filter(Set<E> unfiltered, Predicate<? super E> predicate):返回傳入Set集合unfiltered中滿足給定Predicate的元素集合Set。 filter( SortedSet<E> unfiltered, Predicate<? super E> predicate):返回傳入SortedSet集合unfiltered中滿足給定Predicate的元素集合SortedSet。 filter( NavigableSet<E> unfiltered, Predicate<? super E> predicate):返回傳入NavigableSet集合unfiltered中滿足給定Predicate的元素集合NavigableSet。 cartesianProduct( List<? extends Set<? extends B>> sets):返回通過從各給定集中選擇一個元素所形成每一個可能的集合。 cartesianProduct( Set<? extends B>... sets):返回通過從各給定集中選擇一個元素所形成每一個可能的集合。 powerSet(Set<E> set):返回一個set,包含給定set的所有可能父級集合。 unmodifiableNavigableSet( NavigableSet<E> set):返回指定NavigableSet的不可修改視圖。 synchronizedNavigableSet( NavigableSet<E> navigableSet):返回一個同步的(線程安全的)NavigableSet,由指定的NavigableSet支持。?
轉載于:https://www.cnblogs.com/jia-bei/p/8404685.html
總結
以上是生活随笔為你收集整理的guava-collections的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习算法(优化)之一:梯度下降算法、
- 下一篇: CSS学习之盒子模型