Java™对Set接口的Tutorial

Java™对Set接口的Tutorial

https://docs.oracle.com/javase/tutorial/collections/interfaces/set.html

常用Set实现:HashSet TreeSet LinkedHashSet

HashSet

用hash table储存元素,性能高,不保证元素顺序

TreeSet

使用红黑树储存元素,根据元素值排序,String按字典顺序,Integer按数值顺序,效率HashSet稍慢

LinkedHashSet

链表结构的HashSet,能够保证添加的顺序

Set可以用来干嘛,把Collection中重复的元素剔除,比如有个Collection c,

Collection<T> cWithoutDuplicate = new HashSet<T>(c);

//剔除重复元素且保持顺序
Collection<Type> noDups = new LinkedHashSet<Type>(c);

Set的集合操作:包含 交 并 差 亦或

s1.containsAll(s2) //返回boolean,是否包含

s1.addAll(s2)   //并

s1.retainAll(s2)    //交集

s1.removeAll(s2)    //差

以上操作都会在s1上操作,若要保留s1与s2需要复制一份再操作

阅读更多
个人分类: Java
上一篇Fortify&amp;Coverity
下一篇如何在集合中筛选出满足条件的元素——org.apache.commons.collections4的使用
想对作者说点什么? 我来说一句

JavaSet的深入研究

2011年06月11日 44KB 下载

javaSE Tutorial中文版

2009年12月28日 49KB 下载

没有更多推荐了,返回首页

关闭
关闭