欢迎来到天天文库
浏览记录
ID:32804190
大小:178.77 KB
页数:5页
时间:2019-02-15
《集合框架学习总结-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
此文档下载收益归作者所有