Java 遍歷list和map的方法
package com.tiandy.core.rest; import java.util.ArrayList;import java.util.Iterator;import java.util.List; /** * List 集合的循環(huán)遍歷 * @data 2020.12.12 * */public class TestList { public static void main(String[] args) { // 循環(huán)遍歷List的4中方法 List<String> strList = new ArrayList<>(); strList.add('aaa'); strList.add('bbb'); strList.add('ccc'); // 第一種: 普通for循環(huán)遍歷方式 (好處是可以選擇下標(biāo)) for (int i = 0; i < strList.size(); i++) { System.out.println(strList.get(i)); } // 第二種: 增強(qiáng)的for循環(huán) for (String str : strList) { System.out.println(str); } // 第三種: 使用Iterator迭代器 Iterator<String> it = strList.iterator(); while (it.hasNext()) { String str = (String) it.next(); System.out.println(str); } // 第四種: java8 Lambda方式(箭頭函數(shù)) // strList.forEach(System.out::println); //和下面的寫(xiě)法等價(jià)(當(dāng)后邊只有一行內(nèi)容是可以簡(jiǎn)寫(xiě)) strList.forEach(str -> { System.out.println(str); }); } }
如果想要在循環(huán)的過(guò)程中國(guó),使用下標(biāo),推薦第一種方式方式;
如果需要曾強(qiáng)for循環(huán),可以直接使用對(duì)象,推薦使用第二種方式;
如果需要在遍歷過(guò)程中刪除元素推薦第三種使用Iterator;
如果是JDK1.8以上版本,追求效果簡(jiǎn)潔,可以使用第四種方式使用forEach箭頭函數(shù)。
Java遍歷mappackage cn.jdbc.test;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry; /** * Map 集合的循環(huán)遍歷 * @data 2020.11.12 * */public class TestMap { public static void main(String[] args) { Map<String, Object> map = new HashMap<String, Object>(); map.put('aaa', 111); map.put('bbb', 222); map.put('ccc', 333); // 第一種: 通過(guò)keySet的方式 System.out.println('第1種:通過(guò)Map.keySet()遍歷key和value:'); for(String key:map.keySet()){//keySet獲取map集合key的集合 然后在遍歷key獲取value即可 String value = map.get(key).toString();// System.out.println('key:'+key+' vlaue:'+value); } // 第二種:通過(guò)迭代器的方式 System.out.println('第2種:通過(guò)Map.entrySet使用iterator遍歷key和value:'); Iterator<Entry<String, Object>> it = map.entrySet().iterator(); while(it.hasNext()){ Entry<String, Object> entry = it.next(); System.out.println('key:'+entry.getKey()+' key:'+entry.getValue()); } // 第三種:尤其是容量大時(shí),推薦 System.out.println('第3種:通過(guò)Map.entrySet遍歷key和value'); for (Map.Entry<String, Object> m : map.entrySet()) { System.out.println('key:' + m.getKey() + ' value:' + m.getValue()); } // 第四種:只需要獲取value時(shí)使用 System.out.println('第4種:通過(guò)Map.values()遍歷所有的value,但不能遍歷key'); for(Object m:map.values()){ System.out.println(m); } }}
如果只是獲取key,或者value,推薦使用keySet或者values方式;
如果同時(shí)需要key和value推薦使用entrySet;
如果需要在遍歷過(guò)程中刪除元素推薦使用Iterator;
如果需要在遍歷過(guò)程中增加元素,可以新建一個(gè)臨時(shí)map存放新增的元素,等遍歷完畢,再把臨時(shí)map放到原來(lái)的map中。
以上就是Java 遍歷list和map的方法的詳細(xì)內(nèi)容,更多關(guān)于Java 遍歷list和map的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. PHP使用Swagger生成好看的API文檔2. ASP.NET MVC使用jQuery ui的progressbar實(shí)現(xiàn)進(jìn)度條3. ASP基礎(chǔ)知識(shí)VBScript基本元素講解4. Python3 json模塊之編碼解碼方法講解5. Python 利用Entrez庫(kù)篩選下載PubMed文獻(xiàn)摘要的示例6. Python 制作查詢商品歷史價(jià)格的小工具7. 通過(guò)實(shí)例解析Python文件操作實(shí)現(xiàn)步驟8. python使用jenkins發(fā)送企業(yè)微信通知的實(shí)現(xiàn)9. Python 如何調(diào)試程序崩潰錯(cuò)誤10. Python 合并拼接字符串的方法

網(wǎng)公網(wǎng)安備