java集合工具

Collections工具类方法

查找最小、最大、相等元素

//返回集合coll中最小的元素
public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll);
//根据外比较器comp选出coll中最小的元素
public static <T> T min(Collection<? extends T> coll, Comparator<? super T> comp);
//选出集合coll中的最大元素
public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll);
//根据外比较器comp选出集合coll中的最大元素
public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp);
//返回一个集合c中所有等于o的元素数量
public static int frequency(Collection<?> c, Object o);

修改集合元素、排列方式

//对List集合排序,并且List集合中的元素必须要实现Comparable接口
public static <T extends Comparable<? super T>> void sort(List<T> list);
//对List集合中的元素和c对比进行排序
public static <T> void sort(List<T> list, Comparator<? super T> c);

将集合包装为线程安全集合

//将集合c封装为一个线程安全的集合并返回
public static <T> Collection<T> synchronizedCollection(Collection<T> c);
//将Set集合c封装为一个线程安全的集合并返回
public static <T> Set<T> synchronizedSet(Set<T> s);
//将SortedSet集合c封装为一个线程安全的集合并返回
public static <T> SortedSet<T> synchronizedSortedSet(SortedSet<T> s);
//将NavigableSet集合s封装为一个线程安全的集合并返回
public static <T> NavigableSet<T> synchronizedNavigableSet(NavigableSet<T> s);
//将NavigableSet集合s封装为一个线程安全的集合并返回
public static <T> List<T> synchronizedList(List<T> list);
//将Map封装为一个线程安全的Map并返回
public static <K,V> Map<K,V> synchronizedMap(Map<K,V> m);
//将SortedMap封装为一个线程安全的SortedMap并返回
public static <K,V> SortedMap<K,V> synchronizedSortedMap(SortedMap<K,V> m);NavigableMap封装为一个线程安全的NavigableMap并返回
public static <K,V> NavigableMap<K,V> synchronizedNavigableMap(NavigableMap<K,V> m);

返回空的集合

//返回一个空的迭代器
public static <T> Iterator<T> emptyIterator();
//返回一个空的List迭代器
public static <T> ListIterator<T> emptyListIterator();
//返回一个Enumeration迭代器
public static <T> Enumeration<T> emptyEnumeration();
//返回一个空的Set集合
public static final <T> Set<T> emptySet();
//返回一个空的SortedSet集合
public static <E> SortedSet<E> emptySortedSet();
//返回一个空的NavigableSet集合
public static <E> NavigableSet<E> emptyNavigableSet();
//返回一个空的List集合
public static final <T> List<T> emptyList();
//返回一个空的Map
public static final <K,V> Map<K,V> emptyMap();
//返回一个空的SortedMap
public static final <K,V> SortedMap<K,V> emptySortedMap();
//返回一个空的NavigableMap集合
public static final <K,V> NavigableMap<K,V> emptyNavigableMap();

返回只包含一个元素的集合

//返回一个只有一个元素o的Set集合
public static <T> Set<T> singleton(T o);
//返回一个只有一个元素o的Set集合
public static <T> List<T> singletonList(T o);
//返回一个只有一个键值对key-value的Map
public static <K,V> Map<K,V> singletonMap(K key, V value);

Google Guava 工具类库

Multimap

key-value key可以重复

@Test
public void test2() {
  Multimap<String, String> multimap = ArrayListMultimap.create();
  multimap.put("name", "Jack");
  multimap.put("name", "Jack");
  multimap.put("name", "Tom");
  multimap.put("age", "10");
  multimap.put("age", "12");
  System.out.println(multimap);
  System.out.println(multimap.get("name").size());
}

输出:

{name=[Jack, Jack, Tom], age=[10, 12]}
3
MultiSet

无序+可重复 count()方法获取单词的次数 增强了可读性+操作简单
创建方式:

Multiset<String> set = HashMultiset.create();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值