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

}

04-25 22:15