JAVA容器有List/Map/Set
Collection:
List :LinkedList ArrayList
Set HashSet
Map : Hashtable HashMap
Iterator 迭代器:Java中用Iterator迭代器为各种容器提供公共的操作接口,使用Iterator可以使得对容器的遍历操作完全与其底层相隔离,可以达到极好的解耦效果。hasNext() next() remove()
迭代器接口实现其类必须提供三种方法:这三个方法经常被搭配使用
hasNext()、遍历过程中判断是否还有下一个元素;
List<String> list = new LinkedList<String>();
list.add("hello")。;
list.add("word");
list.add("dayuanit");
for (String msg : list) {
System.out.println(msg);
}
ListIterator<String> iterator = list.listIterator();
while (iterator.hasNext()) {
String mag = iterator.next();
System.out.println(msg);
}
hashNext()返回 true迭代是否有更多的元素
next():遍历该元素,即取出下一个元素;
Remove():移除刚刚遍历过的元素。
Set:没有顺序不可重复(不可equals)
HashSet : 不能重复,
List:有顺序可以重复(可以equals)
ArrayList()其数据类型是线性表,优势是访问和查找很方便,但是增减效率很低
LinkedList:其数据类型是链表型,优势是删除和增加方便,但是访问和查找很慢
Map接口定义了存储“键(key)——值(value)映射对”的方法,实现类有HashMap和TreeMap等
HashMap :有key——value存储,可以方便的查找key对应的value值
Map类中存储的键——值对通过键来标识,所以键值不能重复(equals){equals重写hashCode}