您的位置:首页 > 其它

ArrayList和hashMap的几种遍历方法

2017-03-23 14:05 519 查看
ArrayList的遍历

方法一:for each循环

List<Integer> list = new ArrayList<Integer>();  

for (Integer j : list) {  

// use j  

}

方法二:显式调用集合迭代器

List<Integer>list = new ArrayList<Integer>();  

for (Iterator<Integer>iterator = list.iterator();iterator.hasNext();){  

iterator.next();  



或者:

List<Integer>list = new ArrayList<Integer>();  

Iterator<Integer>iterator = list.iterator();  

while (iterator.hasNext()){  

iterator.next();  

}

方法三:下标递增循环,终止条件为每次调用size()函数比较判断

List<Integer>list = new ArrayList<Integer>();  

     for(int j=0;j<list.size();j++){  

          list.get(j);  

     } 

即:

List<Integer>list = new ArrayList<Integer>();  

for(int i=0;i<list.size();i++){  

    System.out.println(list.get(i).getPro_name());  

}

方法四:下标递减循环

List<Integer>list = new ArrayList<Integer>();  

for (int j = list.size()- 1;j >= 0;j--){  

     list.get(j);  



 HashMap的遍历

HashMap的遍历有两种常用的方法,那就是使用keyset及entryset来进行遍历,但两者的遍历速度是有差别的,对于keySet其实是遍历了2次,一次是转为iterator,一次就从hashmap中取出key所对于的value。而entryset只是遍历了第一次,他把key和value都放到了entry中,所以效率就高。

1、方法一:entryset    

 Map map = new HashMap();  

  Iterator iter = map.entrySet().iterator();  

  while (iter.hasNext()) {  

       Map.Entry entry = (Map.Entry) iter.next();  

       Object key = entry.getKey();  

       Object val = entry.getValue();  

  } 

2、方法二:keyset

Map map = new HashMap();  

  Iterator iter = map.keySet().iterator();  

  while (iter.hasNext()) {  

    Object key = iter.next();  

    Object val = map.get(key);  

  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: