Java集合Collection之遍歷方法總結(List、Map、Set)
阿新 • • 發佈:2018-12-13
一、簡介
實際專案中,通常會用到迴圈遍歷List、Map等,今天有空總結了一下List/Map/Set的遍歷方法,如下:
二、List遍歷
List遍歷的方法一般有三種:
【a】使用普通的for迴圈;
【b】使用增強for迴圈;
【c】使用Iterator介面遍歷;
下面以一個示例說明一下List的遍歷方法:
package com.wsh; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * @Description: List介面遍歷方法 * @Author: weishihuai * @Date: 2018/10/2 09:28 */ public class TestList { private static List<String> list = new ArrayList<>(); static { list.add("zhangsan"); list.add("lisi"); list.add("wangwu"); } public static void main(String[] args) { /** * 方法一: 使用for迴圈 */ for (int i = 0,size = list.size(); i < size;i++) { //zhangsan lisi wangwu System.out.println(list.get(i)); } /** * 方法二: 使用增強for迴圈 */ for (String string : list) { //zhangsan lisi wangwu System.out.println(string); } /** * 方法三: 使用Iterator方法 */ Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String next = iterator.next(); //zhangsan lisi wangwu System.out.println(next); } } }
三、Map遍歷
Map集合遍歷一般有四種方法:
【a】使用 hashMap.entrySet() 迴圈;
【b】使用Iterator介面遍歷;
【c】使用 hashMap.keySet()/hashMap.values()/Iterator;
【d】使用hashMap.keySet()/forEach 遍歷;
下面以一個示例說明一下Map的遍歷方法:
package com.wsh; import java.util.*; /** * @Description: Map介面的遍歷方法 * @Author: weishihuai * @Date: 2018/10/2 09:52 */ public class TestMap { private static HashMap<String,Object> hashMap = new HashMap<>(); static { hashMap.put("name","zhangsan"); hashMap.put("age","20"); hashMap.put("sex","male"); } public static void main(String[] args) { /** * 方法一: 使用 hashMap.entrySet() 迴圈 */ for(Map.Entry<String,Object> entry : hashMap.entrySet()) { String key = entry.getKey(); String value = (String) entry.getValue(); // sex=====>male // name=====>zhangsan // age=====>20 System.out.println(key + "=====>" + value); } /** * 方法二: 使用Iterator介面遍歷 */ Iterator<Map.Entry<String, Object>> iterator = hashMap.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<String, Object> entry = iterator.next(); String key = entry.getKey(); String value = (String) entry.getValue(); // sex=====>male // name=====>zhangsan // age=====>20 System.out.println(key + "=====>" + value); } /** * 方法三: 使用 hashMap.keySet()/hashMap.values()/Iterator */ Set<String> strings = hashMap.keySet(); Collection<Object> values = hashMap.values(); for (Iterator<String> iterator1 = strings.iterator();iterator1.hasNext();) { String key = iterator1.next(); String value = (String) hashMap.get(key); // sex=====>male // name=====>zhangsan // age=====>20 System.out.println(key + "=====>" + value); } for (Iterator i = values.iterator(); i.hasNext();) { String s = (String) i.next(); // 迴圈輸出value // male // zhangsan // 20 System.out.println(s); } /** * 方法四: 使用hashMap.keySet()/forEach 遍歷 */ for (String key : hashMap.keySet()) { String value = (String) hashMap.get(key); // sex=====>male // name=====>zhangsan // age=====>20 System.out.println(key + "=====>" + value); } } }
四、Set遍歷
Set集合遍歷一般有兩種方法:
【a】使用Iterator介面遍歷;
【b】使用增強for迴圈遍歷;
下面以一個示例說明一下Set的遍歷方法:
package com.wsh; import java.util.HashSet; import java.util.Iterator; /** * @Description: Set介面的遍歷方法 * @author: weishihuai * @Date: 2018/10/2 09:01 */ public class TestSet { private static HashSet<String> hashSet = new HashSet<>(); static { hashSet.add("zhangsan"); hashSet.add("lisi"); hashSet.add("wangwu"); } public static void main(String[] args) { /** * 方法一: Iterator遍歷 */ Iterator iterator = hashSet.iterator(); //判斷是否還有元素沒有被遍歷 while (iterator.hasNext()) { //返回當前遊標對應的元素,並把遊標移向下一個元素 String next = (String) iterator.next(); //lisi zhangsan wangwu System.out.println(next); } for (Iterator iterator1 = hashSet.iterator(); iterator1.hasNext(); ) { //返回當前遊標對應的元素,並把遊標移向下一個元素 String next = (String) iterator1.next(); //lisi zhangsan wangwu System.out.println(next); } /** * 方法二: 使用增強for迴圈 */ for (String string : hashSet) { //lisi zhangsan wangwu System.out.println(string); } } }
五、總結
以上是關於Java中常用集合List、Map、Set遍歷方法的講解,這只是作者的一些總結,僅供大家參考學習,希望對大家有所幫助,一起學習,一起進步。