本文目錄一覽:
關於JAVA MAP怎麼初始化生成
首先你要理解 Map的基本結構,key-value
這裡最外層的Map,key是String類型,value是ArrayList。ArrayList裡面放得又是Map,這個Map的key是String,value也是String。
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
MapString, ArrayListMapString, String topMap = new HashMap();
String key1 = “map_key1”; // topMap 的第一個key
ArrayListMapString, String value1 = new ArrayList(); // topMap 的第一個value
// start
MapString, String strMap = new HashMap();
strMap.put(“hello”, “你好”);
strMap.put(“thanks”, “謝謝”);
value1.add(strMap);
value1.add(new HashMap()); // 添加一個空的 Map
// end
topMap.put(key1, value1); // 放入topMap
// 以上 start 到 end 段的代碼是在往value1的ArrayList中填充數據
// 不填充也可以放入到topMap中,就像下面這樣
topMap.put(“emptyList”, new ArrayListMapString, String());
topMap.put(“emptyList2”, new ArrayList()); // jdk 1.7 及之後推薦這樣寫,省掉泛型描述。前面的new HashMap()、new ArrayList()也是省掉了
}
}
java hashmap怎麼初始化
HashMap 是一種常用的數據結構,一般用來做數據字典或者 Hash 查找的容器。普通青年一般會這麼初始化:
HashMapString, String map = new HashMapString, String();
map.put(“name”, “test”);
map.put(“age”, “20”);
看完這段代碼,很多人都會覺得這麼寫太啰嗦了,文藝青年一般這麼來了:
HashMapString, String map = new HashMapString, String() {
{
map.put(“name”, “test”);
map.put(“age”, “20”);
}
};
javamap的用法
javamap的用法如下;
1、void clear():刪除Map中所有鍵值對。
2、boolean containsKey(Object key):查詢Map中是否包含指定key,如果包含則返回true。
3、boolean containsValue(Object value):查詢Map中是否包含指定value,如果包含則返回true。
4、Set entrySet():返回Map中所包含的鍵值對所組成的Set集合,每個集合元素都是Map.Entry對象(Entry是Map的內部類)。
5、Object get(Object key):返回指定key所對應的value,如Map中不包含key則返回null。
6、boolean isEmpty():查詢Map是否為空,如果空則返回true。
7、Set keySet():返回該Map中所有key所組成的set集合。
8、Object put(Object key,Object value):添加一個鍵值對,如果已有一個相同的key值則新的鍵值對覆蓋舊的鍵值對。
9、void putAll(Map m):將指定Map中的鍵值對複製到Map中。
10、Object remove(Object key):刪除指定key所對應的鍵值對,返回可以所關聯的value,如果key不存在,返回null。
11、int size():返回該Map里的鍵值對的個數。
12、Collection values():返回該Map里所有value組成的Collection。
Map中包含一個內部類:Entry。該類封裝了一個鍵值對,它包含了三個方法:
1、Object getKey():返回該Entry里包含的key值。
2、Object getValeu():返回該Entry里包含的value值。
3、Object setValue(V value):設置該Entry里包含的value值,並返回新設置的value值。
java Map 怎麼遍歷
java Map 遍歷一般有四種方式
方式一: 這是最常見的並且在大多數情況下也是最可取的遍歷方式。在鍵值都需要時使用。
方式二: 在for-each循環中遍歷keys或values。
如果只需要map中的鍵或者值,你可以通過keySet或values來實現遍歷,而不是用entrySet。
該方法比entrySet遍歷在性能上稍好(快了10%),而且代碼更加乾淨。
方式三:使用Iterator遍歷
使用泛型:
不使用泛型:
你也可以在keySet和values上應用同樣的方法。
方法四: 通過鍵找值遍歷(效率低)
作為方法一的替代,這個代碼看上去更加乾淨;但實際上它相當慢且無效率。
因為從鍵取值是耗時的操作(與方法一相比,在不同的Map實現中該方法慢了20%~200%)。如果安裝了FindBugs,它會做出檢查並警告你關於哪些是低效率的遍歷。所以盡量避免使用。
總結:
如果僅需要鍵(keys)或值(values)使用方法二。
如果所使用的語言版本低於java 5,或是打算在遍歷時刪除entries,必須使用方法三。
否則使用方法一(鍵值都要)。
擴展資料:
類似的遍歷演算法:
二叉樹的遍歷演算法
1、先(根)序遍歷的遞歸演算法定義:
若二叉樹非空,則依次執行如下操作:
⑴ 訪問根結點;
⑵ 遍歷左子樹;
⑶ 遍歷右子樹。
2、中(根)序遍歷的遞歸演算法定義:
若二叉樹非空,則依次執行如下操作:
⑴遍歷左子樹;
⑵訪問根結點;
⑶遍歷右子樹。
3、後(根)序遍歷得遞歸演算法定義:
若二叉樹非空,則依次執行如下操作:
⑴遍歷左子樹;
⑵遍歷右子樹;
⑶訪問根結點。
參考資料:百度百科——Java
原創文章,作者:EHUL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/145008.html