欢迎来到天天文库
浏览记录
ID:57057861
大小:77.00 KB
页数:27页
时间:2020-07-30
《Java 集合类详解课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java集合类详解java集合类图上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractCollection,AbstractList,AbstractMap等,而点线边框的是接口,比如Collection,Iterator,List等。上述所有的集合类,都实现了Iterator接口,这是一个用于遍历集合中元素的接口,主要包含hashNext(),next(),remove()三种方法。它的一个子接口LinkedIterator在它的基础上又添加了三种方法
2、,分别是add(),previous(),hasPrevious()。也就是说如果是先Iterator接口,那么在遍历集合中元素的时候,只能往后遍历,被遍历后的元素不会在遍历到,通常无序集合实现的都是这个接口,比如HashSet,HashMap;而那些元素有序的集合,实现的一般都是LinkedIterator接口,实现这个接口的集合可以双向遍历,既可以通过next()访问下一个元素,又可以通过previous()访问前一个元素,比如ArrayList。还有一个特点就是抽象类的使用。如果要自己实现一个集合类,去实现那些抽象的接口会非常麻烦
3、,工作量很大。这个时候就可以使用抽象类,这些抽象类中给我们提供了许多现成的实现,我们只需要根据自己的需求重写一些方法或者添加一些方法就可以实现自己需要的集合类,工作流昂大大降低。HashSetHashSet是Set接口的一个子类,主要的特点是:里面不能存放重复元素,而且采用散列的存储方法,所以没有顺序。这里所说的没有顺序是指:元素插入的顺序与输出的顺序不一致。importjava.util.HashSet;importjava.util.Iterator;importjava.util.Set;publicclassHashSetDem
4、o{publicstaticvoidmain(String[]args){Setset=newHashSet();set.add("a");set.add("b");set.add("c");set.add("c");set.add("d");//使用Iterator输出集合Iteratoriter=set.iterator();while(iter.hasNext()){System.out.print(iter.next()+"");}System.out.println();//使用
5、ForEach输出结合for(Stringe:set){System.out.print(e+"");}System.out.println();//使用toString输出集合System.out.println(set);}}ArrayListArrayList是List的子类,它和HashSet不同,允许存放重复元素,因此有序。集合中元素被访问的顺序取决于集合的类型。如果对ArrayList进行访问,迭代器将从索引0开始,每迭代一次,索引值加1。然而,如果访问HashSet中的元素,每个元素将会按照某种随机的次序出现。虽然可以确定
6、在迭代过程中能够遍历到集合中的所有元素,但却无法预知元素被访问的次序。importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;publicclassArrayListDemo{publicstaticvoidmain(String[]args){ListarrList=newArrayList();arrList.add("a");arrList.add("b");arrList.add("c");arrList.ad
7、d("c");arrList.add("d");//使用Iterator输出集合Iteratoriter=arrList.iterator();while(iter.hasNext()){System.out.print(iter.next()+"");}System.out.println();//使用ForEach输出结合for(Stringe:arrList){System.out.print(e+"");}System.out.println();//使用toString输出集合System.out.printl
8、n(arrList);}}LinkedListLinkedList是一种可以在任何位置进行高效地插入和删除操作的有序序列。importjava.util.ArrayList;importjava.util.
此文档下载收益归作者所有