HashMap
双列集合HashMap是属于java集合框架3大类接口的Map类, Map接口储存一组成对的键-值对象,提供key(键)到value(值)的映射.Map中的key不要求有序,不允许重复.value同样不要求有序,但允许重复.
Iterator接口是负责定义访问和遍历元素的接口
1. 使用Iterator迭代器缺点:
1. ListIterator有add()方法,可以向List中添加对象,而Iterator不能
2. ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有hasPrevious()和previous()方法,可以实现逆向(顺序向前)遍历。Iterator就不可以。
3. ListIterator可以定位当前的索引位置,nextIndex()和previousIndex()可以实现。Iterator没有此功能。
4. 都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现。Iierator仅能遍历,不能修改。
2.Map接口
遍历方式:
方式一:迭代器方式,map.keySet();
Import java.util.Map;
Import java.util.HashMap;
Map map=new HashMap();
Map.put(“001”,”中午吃饭”);
Map.put(“002”,”吃什么”);
//遍历(通过key遍历value)
Set set=map.keySet();
Iterator iterator=Set.iterator();
While(iterator.hasNext()){
String key=(String)iterator.next();
//获取value
String value=map.get(key);
Syso(key+”\t”+value);
}
方式二:key和value同时遍历(entrySet)
Iterator iterator=map.entrySet().iterator();
While(iterator.hasNext()){
Map.Entry<String,String > item= (Entry<String,String>)Iterator.next();
Syso(item.getkey()+”\t”+item.getValue());
}
方式三:key和value遍历(for增强的迭代器)
For(Map.Entry<String,String> item:map.entrySet()){
Syso( item.getKey()+”\t”+|item.getValue());
}