1. 程式人生 > >【Java】遍歷List/Set/Map集合的一些常用方法

【Java】遍歷List/Set/Map集合的一些常用方法

/*
* 遍歷List/Set/Map集合的一些常用方法
*/
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class TestMapListSet {
  public static void main(String[] args) {
  

  // 遍歷List集合 :
    

    // 生成一個簡單地List集合[aa,bb,cc,dd]
    List<String> list = new ArrayList<>();
    list.add("aa");
    list.add("bb");
    list.add("cc");
    list.add("dd");
   

    // 方法一:普通的for迴圈
    for (int i = 0; i < list.size(); i++) {
      System.out.println(list.get(i));
    }

 

    // 方法二:增強for迴圈,foreach迴圈
    for (String s : list) {
      System.out.println(s);
    }
    

    // 方法三:使用迭代器(1)for迴圈

    for (Iterator<String> iter = list.iterator(); iter.hasNext();) {
      String temp = (String) iter.next();
      System.out.println(temp);
    }

 

    // 方法四:使用迭代器(2)while迴圈
    Iterator<String> it = list.iterator();
    while (it.hasNext()) {
    String temp = (String) it.next();
    if (false) {
      it.remove(); // 如果在遍歷的過程中需要刪除部分元素的話,推薦使用此方法
    }
    System.out.println(temp);
    }

 

  // 遍歷Set集合:
    

    // 生成一個簡單的Set集合[aa,bb,cc,dd]
    Set<String> set = new HashSet<>();
    set.add("aa");
    set.add("bb");
    set.add("cc");
    set.add("dd");
    

    // 方法一:增強for迴圈:foreach迴圈
    for (String s : set) {
      System.out.println(s);
    }

 

    // 方法二:使用迭代器
    for (Iterator<String> iter = set.iterator(); iter.hasNext();) {
      String temp = (String) iter.next();
    System.out.println(temp);
    }
    

  // 遍歷Map集合:
  

    // 生成一個簡單地Map集合[512--aa,513--bb,514--cc,515--dd]
    Map<Integer, String> map = new HashMap<>();
    map.put(512, "aa");
    map.put(513, "bb");
    map.put(514, "cc");
    map.put(515, "dd");

 

    // 方法一:根據Key獲取Value,foreach迴圈
    Set<Integer> keySet = map.keySet();
    for (Integer i : keySet) {
      System.out.println(i + "--" + map.get(i));
    }
    

    // 方法二:使用迭代器,使用entrySet
  
  Set<Map.Entry<Integer, String>> set1 = map.entrySet();

    for (Iterator<Map.Entry<Integer, String>> iter = set1.iterator(); iter.hasNext();) {
      Map.Entry<Integer, String> temp = iter.next();
      System.out.println(temp.getKey() + "--" + temp.getValue());
    }
  }
}
<