Collection、Map结构图:
Collection:存储的数据是不唯一的而且是无序的对象。
List:存储的数据是不唯一的,是有序的对象。
set:存储的数据是 唯一的, 是无序的对象。
注意一般情况下:集合一般选择用ArrayList, 链表的形式一般都是使用LinkedList
增强for循环(高级for循环)
格式为:
格式:
for(数据类型 变量名:被遍历的集合(Collection或者数组)
{
}
2.迭代器*
public interface Iterator {…
hasNext() 1.判断是否存在下一个元素,true|false
2.如果有下一个元素, 则引用后移 没有则返回 false;
next::作用 取出当前元素
遍历Map:将双值集合,转为单值集合。
通过entry来遍历:
entry=key+value;
Set entries=map.entrySet();
for(Object e:entries){
Map.Entry et=(Map.Entry)e;
Object k=et.getKey();
Object v=et.getValue();
System.out.prinltn(“k-”+k);
System.out.println(“v-”+v);
}
Hashtable 和HashMap的异同?
实现原理:功能相同 , 可以互用
主要区别
Hashtable继承Dictionary类 ,HashMap实现Map接口
Hashtable线程安全,
Hashtable不允许null值,(因为它的remove,put,get做成了同步方法,保证了Hashtable的线程安全性。)
每个操作数据的方法都进行同步控制之后,由此带来的问题任何一个时刻只能有一个线程可以操纵Hashtable,所以其效率比较低。
HashMap线程非安全 HashMap允许null值。()