java List循環與Map循環的總結
做了一下list和map的總結,沒有什么技術含量,就全當復習了一下api。
測試環境是在junit4下,如果沒有自己寫一個main方法也是一樣的。
首先是List的三種循環:
@Test public void ForListTest() { List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); list.add("5"); // 迭代器循環不需要知道集合的大小以及類型,最佳選擇 for (@SuppressWarnings("rawtypes") Iterator iterator = list.iterator(); iterator.hasNext();) { String list = (String) iterator.next(); System.out.println("01)Iterator for:===============" + list); } // foreach相對比for來講,不需要知道集合的長度 for (String list : list) { System.out.println("02)foreach:=================" + list); } // for循環既需要知道集合的大小,而且要求是有序的 for (int i = 0; i < list.size(); i++) { System.out.println("03)for==================" + list.get(i)); } } 然后是Map的四種循環:
@Test public void ForMapTest() { Map<String, String> map = new HashMap<String, String>(); map.put("01", "1"); map.put("02", "2"); map.put("03", "3"); map.put("04", "4"); map.put("05", "5"); Set<String> keySet = map.keySet(); //1.keyset的foreach方法 for (String key : keySet) { System.out.println("1)keyset:" + "key:" + key + " value:" + map.get(key)); } Set<Entry<String, String>> entrySet = map.entrySet(); //2.entryset的迭代方法 for (@SuppressWarnings("rawtypes") Iterator iterator = entrySet.iterator(); iterator.hasNext();) { @SuppressWarnings("unchecked") Entry<String, String> entry = (Entry<String, String>) iterator .next(); System.out.println("02)entrySet,iterator: key:" + entry.getKey() + " value:" + entry.getValue()); } //3.推薦,容量最大 for (Entry<String, String> entry : entrySet) { System.out.println("03)entrySet,foreach:key:" + entry.getKey() + " value:" + entry.getValue()); } Collection<String> values = map.values(); //4.只循環出value的方法 for (String value : values) { System.out.println("04)values,just for values,value:" + value); } } 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答