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());

 

}