集合框架学习总结-read

集合框架学习总结-read

ID:32804190

大小:178.77 KB

页数:5页

时间:2019-02-15

集合框架学习总结-read_第1页
集合框架学习总结-read_第2页
集合框架学习总结-read_第3页
集合框架学习总结-read_第4页
集合框架学习总结-read_第5页
资源描述:

《集合框架学习总结-read》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、http://www.aloaha.comSomePDFFeaturessuchasprinting,editing,128BITencryption,etcaredisabledinevaluationmode集合框架学习总结:(注:红色显示的为接口。蓝色显示的为实现类虚线箭头为继承关系,实线箭头为实现关系)接口List:特点:有序,可以重复存放常用的三个实现类:ArrayListVectorLinkedListArrayList与Vector的异同:相同点:底层实现都是数组。可以通过下标访问。不同点:Vector是线程安全的,

2、属于重量级容器。ArrayList不是线程安全的,属于轻量级容器ArrayList与LinkedList的区别:LinkedList的底层实现是双向循环链表,所以对于增删操作具有很高的效力。适合用来实现Stack(堆栈)和Queue(队列)数据结构。ArrayList底层实现为数组,所以对于查找遍历具有很高的效力。此类在实际项目开发中应用较多。List示例1:publicclassTestArrayList{publicstaticvoidmain(String[]args){Listlist=newArrayList();lis

3、t.add(“abc”);list.add(“hik”);list.add(newInteger(4));list.add(newDouble(3.45));......print(list);}publicstaticvoidprint(Listlist){Iteratorit=list.iterator();http://www.aloaha.comSomePDFFeaturessuchasprinting,editing,128BITencryption,etcaredisabledinevaluationmodewhile

4、(it.hasNext()){Objecto=it.next();System.out.println(o);//它将会按照存放的顺序输出}}但:如果要对使用工具类:Collections.sort(List)来对List进行排序,则必须要让空器中所存放的类型实现java.lang.Comparable接口接口Set:特点:无序,所存对象唯一,不可以重复存放常用实现类:HashSet为什么HashSet能够做到所保存对象能够无序并唯一呢?其实HashSet就是一种特殊的HashMap,它就是通过组合HashMap来实现的,它把所存

5、放对象做为KEY,而VALUE为NULL。有兴趣的人可以看看源码。大至如下:...Mapmap=newHashMap();Voidadd(Objectobj){Map.put(obj,null)}...所以我们待会在MAP中来讨论:为什么Set能够做到所保存对象能够无序并唯一?示例:publicclassTestHashSet{publicstaticvoidmain(String[]args){Setset=newHashSet();set.add(“abc”);set.add(“bdef”);set.add(“defg”);s

6、et.add(“abc”);//注意:这个对象会覆盖之前的“abc”......print(set);}publicstaticvoidprint(Setset){Iteratorit=set.iterator();while(it.hasNext()){Objecto=it.next();System.out.println(o);}}注:“abc”对象之所以不能存放两个,是因为String类已经重写了hashCode()方法和equals()方法.接口SortedSet:特点:按某一特定排序规则来存放所加入对象常用实现类:Tr

7、eeSethttp://www.aloaha.comSomePDFFeaturessuchasprinting,editing,128BITencryption,etcaredisabledinevaluationmode思考:既然要按某一特定排序规则存放对象,那我们如何来定义这种排序规则呢?方式一:自定义类实现Comparable接口,完成compareTo()方法,在此方法中实现比较逻辑。如:ClassStudentimplementsComparable{......PublicintcompareTo(Objectobj)

8、{Students=(Student)obj;//定义比较逻辑......}......}Students1=newStudent(...);Students2=newStudent(...);Setset=newTreeSet();Set.add

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。