Collection:分为set(集合);list(列表);Queue(队列)三类;
set:一个不包含重复元素(包括可变对象)的collection是一种无序集合,实现set接口有:Enumset,Hashset,Treeset ;
list:一个有序的collection,元素可以重复实现,实现list的接口有:arraylist,linkedlist,vector,stack等;
Queue:一种队列的双端队列,先进先出(元素),出口叫队头,入口叫队尾,队列大小有size(可以用数组实现);
堆栈原理:
1弹栈(pop):读数据;
2压栈(push):写数据;
先进后出(杯子里面拿东西的原理)
ArrayList(动态数组实现 是线性表 单线程);LinkedList(链表);Stack(线性表);vector,Hashtable(多线程);
EX:ArrayList<类>a=new ArrayList<>();
迭代器(Iterator):如果要遍历Collection的元素,必须用Iterator;迭代器本身是一个对象,他的工作是遍历并选择集合序列中的对象,客户端程序员不需要知道该序列底层的确切类型,迭代器通常被称为轻量级对象,创建代价小,也有条件限制,某些迭代器只能单向移动;
Ex: import java.util.*;
Collection collection=new ArrayList();
collection.add(s)//类似于子类方法父类引用
//得到一个迭代器
while(iterator.hasNext()){
object element=iterator.next();
System.out.println(element);
}
<pre name="code" class="java">Iterator iterator2=Collection.iterator();
whie(iterator2.hasNext()){
object element=iterator.Next();
System.out.println("移除元素:"+element)
iterator2.remove();//移除元素
}
Iterator iterator3=Collection.iterator();
if(!iterator.hasNext()){
//查看是否还有元素
System.out.println("还有元素");
}
if(Collection.isEmpty()){
System.out.println("collection is Empty")//使用Collection.isEmpty()来判断
}
Collection的Iterator能用来:
1.使用方法iterator()要求容器返回一个Iterator,第一次调用Iterator的Next()方法时,它返回集合的第一元素;
2.使用next()获得集合序列的第一个元素;
3.使用hasNext()检查序列是否还有元素;
4.使用hasNext()<span style="font-family: Arial, Helvetica, sans-serif;">将迭代器新返回新的元素删除;</span>
<span style="font-family:Arial, Helvetica, sans-serif;">哈希表(Hashtable)/Hashtable </span><span style="font-family: Arial, Helvetica, sans-serif;">Hashtable与Hashmap用法几乎差不多,但Hashmap有初始值null; </span><span style="font-family:Arial, Helvetica, sans-serif;">
</span>