Map、Set、List集合的遍历
2016-09-02 18:20
302 查看
Map、Set、List集合的遍历
Map是以键值对(key-value)存储,List集合是有序可重复,Set集合是无序不可重复,这些细节导致了这三种集合遍历有所不同。接下来,将对集合遍历做详细说明。建议初学者在编程时先选择一种相对高效、熟练的方式遍历,其他方法暂时只做了解。这样学起来思路比较清晰。Map集合
/** *四种Map遍历的方法 */ public class MapIterator{ public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); /* *第一种:推荐使用。Entry.set是获得一个set集合,并且泛型是Map.Entry的对象结果集, *这样你就可以通过Set集合来进行遍历,是一种Map功能的增强。使用这种方式你可以在不知道 *key的情况下遍历Map对象。 */ System.out.println("第一种:通过Map.entrySet遍历key和value"); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } /* *第二种:二次取值。先遍历出key值,再通过map.get(key)取到我们需要value值 */ System.out.println("通过Map.keySet遍历key和value:"); for (String key : map.keySet()) { System.out.println("key= "+ key + " and value= " + map.get(key)); } /*第三种:获取key和value。通过Map.entrySet遍历key和value,效率不高。 */ System.out.println("通过Map.entrySet使用iterator遍历key和value:"); Iterator<Map.Entry<String, String>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, String> entry = it.next(); System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } //第四种:遍历value。直接通过遍历取出我们需要的value值,缺点是我们无法获得相应的key值 System.out.println("通过Map.values()遍历所有的value,但不能遍历key"); for (String v : map.values()) { System.out.println("value= " + v); } }
List集合
public void ListIterator(){ //创建List集合 List<String> list = new ArrayList<String>(); list.add("DDDDD"); list.add("EEEEE"); list.add("FFFFF"); //print(list); //List的第一种遍历方式:List有序,可利用get()方法获取 for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } //List的第二种遍历方式:利用Iterator java.util.Iterator<String> it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } //List的第三种遍历方式:利用foreach for (String s2 : list) { System.out.println(s2); } }
Set集合
public void SetIterator(){ Set<String> set = new HashSet<String>(); set.add("AAA"); set.add("BBB"); set.add("CCC"); //Set的第一种遍历方式:利用Iterator java.util.Iterator<String> it1 = set.iterator(); while(it1.hasNext()){ System.out.println(it1.next()); } //Set的第二种遍历方式:利用foreach for (String string : set) { System.out.println(string); } }
总结:Map集合的存储方式是以键值对存在的,也就是有key以及对应的value,所以遍历的时候需要考虑key的存在。
而List集合是有序可重复,所以可以用list.get()方法,Set集合是无序可重复,导致无法使用get()方法。相同的是Map和List集合均可使用iterator和foreach方法
发表人:梦想的边缘
相关文章推荐
- 集合遍历(Set,List,Map)
- 集合遍历(List、Set、Map)
- Java集合Set、List、Map的遍历方法
- Java集合Set、List、Map的遍历方法
- Java集合Set、List、Map的遍历方法
- 编程技巧系列(2)Java 集合(List,Set,Map)遍历时有条件删除特定元素
- java中List、Set、Map、Properties集合的遍历方法总结
- 集合--(List、Set、Map)遍历、删除、比较元素时的小陷阱
- Java集合Set、List、Map的遍历方法
- 【Java】集合(List、Set、Map)遍历、删除、比较元素时的小陷阱
- Java:集合,Array、Collection(List/Set/Queue)、Map的遍历,比如:ArrayList,LinkedList,HashSet,HashMap
- 遍历list、set和map集合的方式
- Java集合Set、List、Map的遍历方法
- Java 集合(List, Set, Map)遍历汇总
- java关于集合(list,set,map)的遍历与增强for循环的使用
- java中List、Set、Map集合的遍历方法总结
- JSTL遍历数组,List,Set,Map等集合
- List、Set、Map 集合遍历 小结
- Java集合Set、List、Map的遍历方法
- Java集合Set、List、Map的遍历方法