Set系列集合:
元素是唯一的。
HashSet:
哈希值:
如果沒有重寫hashcode方法和equals方法,那么哈希值是根據地址值計算的。
LinkedHashSet:
TreeSet底層為紅黑樹。
紅黑樹:兩個紅色節點不能相連。
雙列集合:
Map的遍歷方式:
1.鍵找值:
示例:
import java.util.*;
public class test {public static void main(String[] args) {Map<String,String>map=new HashMap<>();//第一個string是鍵的類型,第二個string是值的類型map.put("1","1");map.put("2","2");map.put("3","3");Set<String>keys=map.keySet();for(String key:keys){//key是鍵,value是值String value=map.get(key);System.out.println(key+"="+value);}}
}
2.鍵值對:
entry:鍵值對對象
示例:
import java.util.*;
public class test {public static void main(String[] args) {Map<String,String>map=new HashMap<>();//第一個string是鍵的類型,第二個string是值的類型map.put("1","1");map.put("2","2");map.put("3","3");Set<Map.Entry<String,String>>entries=map.entrySet();for(Map.Entry<String,String>entry:entries){String key=entry.getKey();String value=entry.getValue();System.out.println(key+"="+value);}}
}
3.Lambda表達式:
示例:
import java.util.*;
import java.util.function.BiConsumer;
public class test {public static void main(String[] args) {Map<String,String>map=new HashMap<>();//第一個string是鍵的類型,第二個string是值的類型map.put("1","1");map.put("2","2");map.put("3","3");/* map.forEach(new BiConsumer<String,String>(){@Overridepublic void accept(String key,String value){System.out.println(key+"="+value);}});*///lambda表達式map.forEach((key,value)->System.out.println(key+"="+value));}
}
Hashmap:
Hashmap的特點:
LinkHashmap:
示例:
import java.util.*;
import java.util.function.BiConsumer;
public class test {public static void main(String[] args) {LinkedHashMap<String,Integer> lhm=new LinkedHashMap<>();lhm.put("java",100);//put方法有兩個功能,一個添加,一個覆蓋。lhm.put("python",90);lhm.put("c++",80);System.out.println(lhm);}
}
TreeMap:
C++queue常用函數:
1.push() 在隊尾插入一個元素
2.pop() 刪除隊列第一個元素
3.size() 返回隊列中元素個數
4.empty() 如果隊列空則返回true
5.front() 返回隊列中的第一個元素
6.back() 返回隊列中最后一個元素