java-集合
来源:互联网 发布:js 判断是否包含key 编辑:程序博客网 时间:2024/05/16 07:25
一.集合接口
队列:先进先出;栈:先进后出
队列接口:在尾部实现添加元素,在首部实现删除元素
队列接口实现方法:一种是循环数组的实现,另一种是使用列表
代码实现片段
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()方法,否则会出现NoSuchElementExceptionCo实用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常用的集合库
阅读全文
1 0
- Java集合:集合框架
- java集合---set集合
- JAVA 集合 的 集合
- 【集合】Java集合对比
- JAVA集合-Map集合
- JAVA集合-Set集合
- JAVA集合-List集合
- java集合------Map集合
- Java集合----List集合
- Java集合----Set集合
- Java集合----Map集合
- JAVA集合
- JAVA集合
- Java集合
- JAVA集合
- Java集合
- Java集合
- java 集合
- php array_push array_unique使用
- activeMQ的应用场景
- JSP自定义标签
- 算法题-最大值减去最小值小于或等于 num 的子数组数量
- JPEG2000 小波变换
- java-集合
- PAT甲级 1028. List Sorting (25)
- 解决scalac Error: bad option -make:transitive
- JavaMail定时发送邮件
- UVA 257 Palinwords
- 生成器(Builder)
- 网友年龄 某君新认识一网友。 当问及年龄时,他的网友说: “我的年龄是个2位数,我比儿子大27岁, 如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄” 请你计算:网友的年龄一共有多少种
- 乱码解决方法
- 最大连续子数组和