一,map集合概述和特點
b:map介面和collection介面的不同
二,map集合的功能概述
b:刪除功能
c:判斷功能
d:獲取功能
e:長度功能
三,map集合的遍歷之鍵找值
b:案例演示
四,map集合的遍歷之鍵值對物件找鍵和值
hashmaphm = new hashmap<>();
hm.put("張三", 23);
hm.put("李四", 24);
hm.put("王五", 25);
hm.put("趙六", 26);
/*set> entryset = hm.entryset(); //獲取所有的鍵值物件的集合
iterator> it = entryset.iterator();//獲取迭代器
while(it.hasnext()) */
for(entryen : hm.entryset())
五,hashmap集合鍵是student值是string的案例
/*
* * a:案例演示
* hashmap集合鍵是student值是string的案例
* 鍵是學生物件,代表每乙個學生
* 值是字串物件,代表學生歸屬地
*/public static void main(string args)
六,linkedhashmap的概述和使用
七,treemap集合鍵是student值是string的案例
treemaptm = new treemap<>(new comparator()
});tm.put(new student("張三", 23), "北京");
tm.put(new student("李四", 13), "上海");
tm.put(new student("趙六", 43), "深圳");
tm.put(new student("王五", 33), "廣州");
system.out.println(tm);
八,統計字串中每個字元出現的次數
string str = "aaaabbbcccccccccc";
char arr = str.tochararray(); //將字串轉換成字元陣列
hashmaphm = new hashmap<>(); //建立雙列集合儲存鍵和值
for(char c : arr) else */
!hm.containskey(c) ? 1 : hm.get(c) + 1);
integer i = !hm.containskey(c) ? hm.put(c, 1) : hm.put(c, hm.get(c) + 1);
}for (character key : hm.keyset())
九,集合巢狀之hashmap巢狀hashmap
/**
* * a:案例演示
* 集合巢狀之hashmap巢狀hashmap
* * 需求:
* 雙元課堂有很多基礎班
* 第88期基礎班定義成乙個雙列集合,鍵是學生物件,值是學生的歸屬地
* 第99期基礎班定義成乙個雙列集合,鍵是學生物件,值是學生的歸屬地
* * 無論88期還是99期都是班級物件,所以為了便於統一管理,把這些班級物件新增到雙元課堂集合中
*/public static void main(string args)
} }
十,hashmap和hashtable的區別(面試題)
十一,collections工具類的概述和常見方法講解
b:collections成員方法
public static void sort(listlist)
public static int binarysearch(list<?> list,t key)
public static t max(collection<?> coll)
public static void reverse(list<?> list)
public static void shuffle(list<?> list)
十二,總結
collection* list(訪問有序,有索引,可以重複)
* arraylist
* 底層是陣列實現的,執行緒不安全,查詢和修改快,增和刪比較慢
* linkedlist
* 底層是鍊錶實現的,執行緒不安全,增和刪比較快,查詢和修改比較慢
* vector
* 底層是陣列實現的,執行緒安全的,無論增刪改查都慢
* 如果查詢和修改多,用arraylist
* 如果增和刪多,用linkedlist
* 如果都多,用arraylist
* set(訪問無序,無索引,不可以重複)
* hashset
* 底層是雜湊演算法實現
* linkedhashset
* 底層是鍊錶實現,但是也是可以保證元素唯一,和hashset原理一樣
* treeset
* 底層是二叉樹演算法實現
* 一般在開發的時候不需要對儲存的元素排序,所以在開發的時候大多用hashset,hashset的效率比較高
* treeset在面試的時候比較多,問你有幾種排序方式,和幾種排序方式的區別
* map
* hashmap
* 底層是雜湊演算法,針對鍵
* linkedhashmap
* 底層是鍊錶,針對鍵
* treemap
* 底層是二叉樹演算法,針對鍵
* 開發中用hashmap比較多
Java基礎 Java重點基礎之IO流(三)
一,序列流 2.使用方式 fileinputstream fis1 new fileinputstream a.txt 建立輸入流物件,關聯a.txt fileinputstream fis2 new fileinputstream b.txt 建立輸入流物件,關聯b.txt sequenceinp...
Java基礎 Java重點基礎之多執行緒(一)
一,多執行緒的引入 2.多執行緒的應用場景 b jvm的啟動是多執行緒的嗎 五,多執行緒程式實現的方式2 六,實現runnable的原理 七,兩種方式的區別 掌握 繼承thread 實現runnable介面 八,匿名內部類實現執行緒的兩種方式 new thread 繼承這個類 public void...
Java基礎重點回顧
執行緒 執行緒是程式執行的一條路徑,乙個程序中可以包含多條執行緒 多執行緒併發執行可以提高程式的效率,可以同時完成多項工作 多執行緒實現的兩種方式 一種是繼承thread public class demo2 thread class mythread extends thread 另一種是實現ru...