java中Map、Set、List的簡(jiǎn)單使用教程(快速入門)
Map、Set、List
List的常用方法
1、創(chuàng)建
List<Integer> list = new ArrayList<>(); List<Integer> list = new LinkedList<>(); //同時(shí)可以作為鏈表用 List<List<Integer>> list = new ArrayList<>();
2、遍歷
//本質(zhì)上其實(shí)是調(diào)用Iterator for(String s:list){ System.out.print(s); }
3、List轉(zhuǎn)化為數(shù)組
//兩種寫法都可以, 第一種微微規(guī)范一點(diǎn) , 但是只能是封裝類型的數(shù)組 Integer array[] = list.toArray(new Integer[list.size()]); Integer array[] = list.toArray(); //java8的寫法, 可以借助stream來實(shí)現(xiàn)直接轉(zhuǎn)化為 基本類型數(shù)組 int[] result = list.stream().mapToInt(i->i).toArray();
4、數(shù)組轉(zhuǎn)化為L(zhǎng)ist
//array[]是不是封裝類都無所謂, 不是封裝類型 系統(tǒng)會(huì)自動(dòng)轉(zhuǎn)換為封裝類型 Integer array[] = {1,2,3}; intarray[] = {1,2,3}; List<Integer> list = new ArrayList<>(Arrays.asList(array)); //由此有直接默認(rèn)給List賦值的簡(jiǎn)便寫法 List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3));
5、合并兩個(gè)List
List<Integer> list1 = new ArrayList<>(); List<Integer> list2 = new ArrayList<>(); list.addAll(list); //list2的元素全部加入list1
Set的常用方法
1、創(chuàng)建Set
Set<String> set = new HashSet<>(); Set<String> set = new TreeSet<>();
2、遍歷
for(Integer t:set){ System.out.print(t); }
3、數(shù)組轉(zhuǎn)Set
String[] strs = new String[]{"Tom", "Bob", "Jane"}; Set<String> set = new HashSet<>(Arrays.asList(strs));
3、Set轉(zhuǎn)數(shù)組
String[] strs = new String[]{"Tom", "Bob", "Jane"}; Set<String> set = new HashSet<>(Arrays.asList(strs)); //同樣的也是封裝類型不能直接轉(zhuǎn)為 基本類型 Object[] result = set.toArray();
Map的常見用法
Map最大的特點(diǎn)就是以 key-value的方式才存儲(chǔ)數(shù)據(jù)
創(chuàng)建Map集合
Map<String,Integer> map = new HashMap<>(); //無序 Map<String,Integer> map = new TreeMap<>(); //按key有序, 并可以實(shí)現(xiàn)自定義排序
遍歷Map集合
//通過索引遍歷, 效率不高 for(String key:map.keySet()){ Integer temp = map.get(key); } //通過entry遍歷 (推薦使用) for(Entry<String,Integer> entry: map.entrySet()){ String s = entry.getKey(); Integer a = entry.getValue(); }
//獲取值 map.get(object); map.getOrDefault(tmp, 0); //如果為空則設(shè)為0
注意事項(xiàng)
1、當(dāng)調(diào)用List的contains(Object o)方法時(shí)即使是相同內(nèi)容的對(duì)象,但不是相同對(duì)象會(huì)被判斷成不相同。需要手動(dòng)在對(duì)象中編寫equals方法,用Object.equals(a,b);
其余的常見方法均在圖片中給出。
總結(jié)
到此這篇關(guān)于java中Map、Set、List的簡(jiǎn)單使用教程的文章就介紹到這了,更多相關(guān)java中Map、Set、List使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java中集合List、Set和Map的入門詳細(xì)介紹
- Java集合框架之Set和Map詳解
- Java?集合框架掌握?Map?和?Set?的使用(內(nèi)含哈希表源碼解讀及面試??碱})
- Java多線程高并發(fā)中解決ArrayList與HashSet和HashMap不安全的方案
- 深入解讀Java三大集合之map list set的用法
- JAVA中的 map,list,set
- Java HashSet(散列集),HashMap(散列映射)的簡(jiǎn)單介紹
- java的各種集合為什么不安全(List、Set、Map)以及代替方案
- Java數(shù)據(jù)結(jié)構(gòu)之Map與Set專篇講解
相關(guān)文章
java.lang.ClassCastException的問題解決
本文主要介紹了java.lang.ClassCastException的問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06idea創(chuàng)建的idea項(xiàng)目時(shí)springframework出現(xiàn)紅色的原因和解決方法
當(dāng)使用 IntelliJ IDEA 創(chuàng)建 Spring Framework 項(xiàng)目時(shí),springframework 出現(xiàn)紅色可能是因?yàn)橄嚓P(guān)的 Spring Framework 依賴沒有正確加載或項(xiàng)目的配置有問題,本文給大家介紹了一些常見的原因和解決方法,需要的朋友可以參考下2023-09-09如何用Netty實(shí)現(xiàn)高效的HTTP服務(wù)器
這篇文章主要介紹了如何用Netty實(shí)現(xiàn)高效的HTTP服務(wù)器,對(duì)HTTP感興趣的同學(xué)可以參考一下2021-04-04Java快速實(shí)現(xiàn)PDF轉(zhuǎn)圖片功能實(shí)例代碼
PDFBox是一個(gè)開源Java類庫,用于讀取和創(chuàng)建PDF文檔,它支持文本提取、表單處理、文檔加密解密、合并分割、內(nèi)容覆蓋追加、文檔打印和轉(zhuǎn)換等功能,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09IDEA實(shí)用好用插件推薦及使用方法教程詳解(必看)
這篇文章主要介紹了IDEA實(shí)用好用插件推薦及使用方法教程,本文通過實(shí)例截圖相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04