ArrayList和hashMap的遍歷

zbt_xioazhukuaipao發表於2018-03-09

hashMap的遍歷方式

Map<String,String> map = new hashMap<String,String>;
    map.put("1","Java");
    map.put("2","C++");
    map.put("3","PHP");

1.取值遍歷

for(String key : map.keySet()){
    system.out.println("key=" + key + "and value=" + map.get(key));
}

2.Iterator遍歷

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

3.遍歷value

for(String s : map.value){
    system.out.println(value);
}

4.使用entrySet遍歷(大量資料時使用該方法效率更高)

for(map.entry<String,String> entry : map.entrySet()){
    system.out.println("key=" + entry.getKey() + "and value=" + entry.getValue());
}

ArrayList的遍歷

List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
方法一:
超級for迴圈遍歷
for(String attribute : list) {
  System.out.println(attribute);
}
方法二:
對於ArrayList來說速度比較快, 用for迴圈, 以size為條件遍歷:
for(int i = 0 ; i < list.size() ; i++) {
  system.out.println(list.get(i));
}
方法三:
集合類的通用遍歷方式, 從很早的版本就有, 用迭代器迭代
Iterator it = list.iterator();
while(it.hasNext()) {
  System.ou.println(it.next);
}


順便說下陣列和List的互轉

List轉陣列:

具體用法:
List list = new ArrayList();
list.add("1");
list.add("2");
final int size =  list.size();
String[] arr = (String[])list.toArray(new String[size]);

陣列轉List:

具體用法:
String[] arr = new String[] {"1", "2"};
List list = Arrays.asList(arr);

相關文章