如何在JAVA项目中实现一个集合接口类?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
集合是最基本的集合接口,一个集合代表一组对象,即集合的元素(元素)。一些收集允许相同的元素而另一些不行。一些能排序而另一些不行. JAVA SDK不提供直接继承自集合的类,JAVA SDK提供的类都是继承自集合的“子接口”如列表和设置,详细信息可见官方文档http://tool.oschina.net/uploads/apidocs/jdk-zh/java/util/Collection.html下面我们来讨论继承它的接口列表,集,这两个接口实现了主要的方法,但是还是有一些拓展的,不如列表中的迭代就和中集合的有些不同,下面会详细介绍,这里我们用一个例子体会一下这里的接口的实现:
Collection,列表=new LinkedList<在();
<强>列表强>
- <李>
列表是有序的集合(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
李> <李>列表与设置不同,列表允许重复的元素插入
李> <李>列表接口提供了两种在列表的任意位置高效插入和移除多个元素的方法。
李> <李>下面我们来具体介绍一下它的实现的类
<强>,LinkedList 强>
从文档中可以看到这个listedList实现的不只是列表接口,比如还是实现了双端队列接口,这个为添加、调查提供先进先出队列操作,以及其他堆栈和双端队列操作。这里的LinkedList都是用双向链表实现的,这个类不是同步的,因此在多个线程中有修改其中的元素操作时必须实现外部的线程同步
<强>构造方法强>
- <李>
<代码> LinkedList() 代码>创建一个空的链表
李> <李><代码> LinkedList (Collection<?E>延伸;c) 代码>构造一个包含指定中集合的元素的列表,这些元素按其收集的迭代器返回的顺序排列,构造如下:
李>, ArrayList, arrayList=new ArrayList<在();,//这里新建一个线性列表 ,LinkedList linkedList=new LinkedList (arrayList);,//用线性列表新建一个链表 ,System.out.println (linkedList.getFirst ());
<强>方法摘要强>
- <李>
<代码>布尔加(E E) 代码>将指定元素添加到此列表的结尾。成功插入返回真正的
李> <李><代码>空白添加(int指数E元素)代码>在此列表中指定的位置插入指定的元素。
李> <李> <代码>布尔addAll (Collection<?E>延伸;c) 代码>添加指定中集合的所有元素到此列表的结尾,顺序是指定集合的迭代器返回这些元素的顺序。例子如下:
ArrayList arrayList=new arrayList();//新建一个线性表 ,arrayList.add (10); ,arrayList.add (100); ,arrayList.add (2); ,LinkedList linkedList=new linkedList (); ,linkedList.add (100); ,linkedList.add (“chenjiabing"); ,linkedList.addAll (arrayList);,//将线性表中所有的元素添加到链表中 ,(Object 我:linkedList) ,{ System.out.println才能(我); 以前,}><李>
<代码>布尔addAll (int指数,Collection<?E>延伸;c) 代码>将指定中集合的所有元素从指定位置开始插入此列表。
李> <李><代码> addFirst> 代码将指定的元素添加到开头
李> <李><代码> addLast> 代码将指定的元素添加到末尾
李> <李><代码>明确()代码>从列表中移除全部的元素
李> <李><代码>()代码>得克隆到一个链表的副本,由于其返回的类型是对象,因此需要进行强制转换成LinkedList类型
李>
LinkedList 列表=(LinkedList) linkedList.clone ();<李>
<代码>包含(对象o) 代码>如果此列表中包含元素o返回真正的
李> <李><代码>元素()代码>获取但不移除此列表的头(第一个元素)。
李> <李><代码> iterator() 代码>返回列表中的元素的迭代器
李>Iterator iter=list.iterator();,//返回一个迭代器类型 而(iter.hasNext()),//判断迭代器中是否存在元素 { ,Object o=iter.next (),, ,如果(o.equals (1)) ,{ ,System.out.println (o);,//输出迭代器中的元素 ,iter.remove();,//移除这个元素,这个是从列表中直接移除的 } }如何在JAVA项目中实现一个集合接口类