×

java集合框架详解

消耗积分:2 | 格式:rar | 大小:0.3 MB | 2017-09-27

分享资料个

  ) 首先查看jdk中Collection类的源码后会发现如下内容:

  。。. * @see AbstractCollection * @since 1.2*/ publicinterfaceCollection《E》extendsIterable《E》 {// Query Operations

  通过查看可以发现Collection是一个接口类,其继承了java迭代接口Iterable。

  众所周知在我们使用Java中的类的存储的时候经常会使用一些容器,链表的概念,本文将彻底帮您弄清链表的各种概念和模型!!!!

  注意理解哦~~~ 大致框架如下:

  Collection接口有两个主要的子接口List和Set,注意Map不是Collection的子接口哦这个要牢记。

  Collection中可以存储的元素间无序,可以重复组各 自独立的元素, 即其内的每个位置仅持有一个元素,同时允许有多个null元素对象。

  Collection接口中的方法如下:

  java集合框架详解

  1)List接口

  List接口对Collection进行了简单的扩充

  查看List接口的源码会发现:

  。。.《br》 * @see AbstractList * @see AbstractSequentialList * @since 1.2*/ public interface List《E》 extends Collection《E》 { // Query Operations /** * Returns the number of elementsinthis list. If this list contains * more than 《tt》Integer.MAX_VALUE《/tt》 elements, returns * 《tt》Integer.MAX_VALUE《/tt》。 《br》 。。.

  这里也就知道为什么Collection接口时List接口的父接口了吧。

  List接口中的元素的特点为:

  List中存储的元素实现类排序,而且可以重复的存储相关元素。

  同时List接口又有两个常用的实现类ArrayList和LinkedList

  1)ArrayList:

  ArrayList数组线性表的特点为:类似数组的形式进行存储,因此它的随机访问速度极快。

  ArrayList数组线性表的缺点为:不适合于在线性表中间需要频繁进行插入和删除操作。因为每次插入和删除都需要移动数组中的元素。

  可以这样理解ArrayList就是基于数组的一个线性表,只不过数组的长度可以动态改变而已。

  对于ArrayList的详细使用信息以及创建的过程可以查看jdk中ArrayList的源码,这里不做过多的讲解。

  对于使用ArrayList的开发者而言,下面几点内容一定要注意啦,尤其找工作面试的时候经常会被问到。

  注意啦!!!!!!!!

  a.如果在初始化ArrayList的时候没有指定初始化长度的话,默认的长度为10.

  packagecom.yonyou.test; importjava.util.ArrayList; importjava.util.Iterator;importjava.util.List; /** * 测试类 *@author小浩 * @创建日期 2015-3-2 */publicclassTest{publicstaticvoidmain(String[] args) { List《String》 list=newArrayList《String》(); list.add( “Hello”); list.add( “World”); list.add( “HAHAHAHA”); //第一种遍历方法使用foreach遍历Listfor(String str : list) { //也可以改写for(int i=0;i《list.size();i++)这种形式System.out.println(str); } //第二种遍历,把链表变为数组相关的内容进行遍历String[] strArray= newString[list.size()]; list.toArray(strArray); for( inti=0;i《strArray.length;i++) //这里也可以改写为foreach(String str:strArray)这种形式{ System.out.println(strArray[i]); } //第三种遍历 使用迭代器进行相关遍历Iterator《String》 ite=list.iterator(); while(ite.hasNext()) { System.out.println(ite.next()); } } }

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !