Java遍歷各種容器的方法
阿新 • • 發佈:2018-12-20
package cn.breeziness123.collection; 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.Map.Entry; import java.util.Set; /** * 遍歷各種容器的方法 List Set Map * * @author breeziness * */ public class TestSearchCollection { public static void main(String[] args) { // 遍歷List System.out.println("########遍歷List###########"); List<String> lt = new ArrayList<>(); lt.add("第一個"); lt.add("第二個"); lt.add("第三個"); // 普通的for迴圈 System.out.println("##########for迴圈##########"); for (int i = 0; i < lt.size(); i++) { String result = lt.get(i); System.out.println(result); } System.out.println("##########增強for迴圈##########"); // 增強的for迴圈 for (String result_1 : lt) { System.out.println(result_1); } System.out.println("#########迭代器方式###########"); // 第一種迭代器方式 Iterator iterator = lt.iterator(); while (iterator.hasNext()) { Object object = iterator.next();// 迭代器的返回是一個Object物件 // iterator.remove();可以在這裡刪除 System.out.println(object); } // 第二種迭代器方式 for (Iterator<String> iter = lt.iterator(); iter.hasNext();) { String result_2 = iter.next(); System.out.println(result_2); } // 遍歷Set System.out.println("########遍歷Set##########"); Set<String> mySet = new HashSet<>(); mySet.add("1"); mySet.add("2"); mySet.add("3"); // for迴圈 for (String result_3 : mySet) { System.out.println(result_3); } // 迭代器方式 for (Iterator<String> iter2 = mySet.iterator(); iter2.hasNext();) { String result_4 = iter2.next(); System.out.println(result_4); } System.out.println("#######遍歷Map##########"); Map<Integer, String> myMap = new HashMap<>(); myMap.put(1, "first"); myMap.put(2, "second"); myMap.put(3, "thirt"); // for迴圈的方法 Set<Integer> key = myMap.keySet(); for (Integer id : key) { System.out.println(myMap.get(id)); } // entrySet的 Set<Entry<Integer, String>> ss = myMap.entrySet(); for (Iterator iter3 = ss.iterator(); iter3.hasNext();) { Entry e = (Entry) iter3.next(); // ystem.out.println(e.getKey()+"--"+e.getValue()); System.out.println(e.getValue()); } } }