java-集合

xiaoxiao2021-02-28  9

一.集合接口 队列:先进先出;栈:先进后出 队列接口:在尾部实现添加元素,在首部实现删除元素

队列接口实现方法:一种是循环数组的实现,另一种是使用列表 代码实现片段

1.集合的接口 public interface Queue2<E> { void add(E element); E remove(); int size(); } 2.循环接口 class CircularArryayQueue<E> implements Queue2<E> { public CircularArryayQueue() { } public void add(E element) { } public E remove() { return null; } public int size() { return 0; } private E[] elem;//声明元素 private int head; private int tail; } 3.使用链表的方式 class LinkedListQueue<E> implements Queue2<E> { public LinkedListQueue(){} public void add(E element) { } public E remove() { return null; } public int size() { return 0; } private Link head; private Link tail; }

相比较而言,循环数组的效率比较高,但是循环数组是一个有限集合,容量有限。 二.集合接口和迭代器接口

集合接口 public interface Queue2<E> { boolean add(E e); Iterator<E> iterator();//迭代器接口 } 迭代器接口 public interface Iterator<E> { E next(); boolean hasNext(); void remove(); } 此处需要注意的是,需要再next()方法之前,调用hasNext()方法,否则会出现 NoSuchElementException Co 实用 Collection<String> c=...; Iterator<String> iter=c.iterator(); while(iter.hasNext()) { String element=iter.next(); .... }

Collection接口扩展了Iterable接口.因此对标准类库的所有集合都可以使用”for each” 元素被访问的顺序取决于集合类型,ArrayList和HashSet不同 java迭代器可以认为是两个元素之间。

2.使用迭代器进行删除元素 Iterator it=c.iterator(); it.remove(); it.next();//需要向后移动一位 it.remove(); 3.泛型实用方法 public static boolean contains(Collection c,Object obj) { for(E element:c) if(element.equals(obj)) return false; }

java常用的集合库

转载请注明原文地址: https://www.6miu.com/read-1100317.html

最新回复(0)