本文目錄一覽:
- 1、java map 的用法?
- 2、Java中的map是線性結構嗎?
- 3、java中的map函數怎麼用?
- 4、java中map有幾種寫法,一般怎樣寫,有什麼區別嗎?
- 5、Java中便歷Map的幾種方法
- 6、java中的map怎麼根據key值修改value值?
java map 的用法?
map是個接口
用都是用HasMap等實現Map接口的類
創建:MapString,String map = new HashMapString,String();
插入元素:map.put(“1″,”a”);
移除元素: map.remove(“1”);
清空: map.clear();
具體參照java API
java.uitl.HashMap
Java中的map是線性結構嗎?
map不是線性結構,常用的線性結構有:線性表,棧,隊列,雙隊列,數組,串。
數據結構中線性結構指的是數據元素之間存在着「一對一」的線性關係的數據結構。如(a1,a2,a3,…..,an),a1為第一個元素,an為最後一個元素,此集合即為一個線性結構的集合。
而Map 集合是用存儲元素對(鍵值對)來存儲元素,每個鍵映射到一個值,不存在最後一個元素的說法,也沒前驅和後繼元素,所以是非線性的。
java中的map函數怎麼用?
map不是函數,是一個對象
可以
Map
map
=
new
HashMap();創建
Map就是鍵值對,
map.put(“1″,”123”);
map.put(“2″,”234”);
map.get(“1”)//123
map.get(“2”)//234
java中map有幾種寫法,一般怎樣寫,有什麼區別嗎?
MapString, Object map = new HashMapString, Object();
MapString, Object ma = new HashMap();
簡寫,就是前面指定泛型,後面就可以省略。
HashMapString, Object m = new HashMap();
HashMapString, Object mm = new HashMapString, Object();
不建議這麼寫,一般是接口在左,實現類在右,實現依賴倒置原則。
Java中便歷Map的幾種方法
常見的Map遍歷有下面四種方法:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
public class MapDemo {
public static void main(String[] args) {
// 準備好需要遍歷的Map
HashMapString, Integer map = new HashMapString, Integer();
map.put(“Tom”, 85);
map.put(“Jack”, 97);
test1(map);
test2(map);
test3(map);
test4(map);
}
// 方法一: 迭代器方式
// 特點: 效率高,速度快,但是代碼量多
public static void test1(HashMapString, Integer map) {
IteratorEntryString, Integer it = map.entrySet().iterator();
while (it.hasNext()) {
EntryString, Integer e = it.next();
System.out.println(“name:” + e.getKey() + “\tscore:” + e.getValue());
}
}
// 方法二: map.entrySet() for循環
// 特點: 效率也較高,速度較快,且寫法比方法一簡單
public static void test2(HashMapString, Integer map) {
for (EntryString, Integer e : map.entrySet()) {
System.out.println(“name:” + e.getKey() + “\tscore:” + e.getValue());
}
}
// 方法3 map.keySet for循環
// 特點:效率較慢
public static void test3(HashMapString, Integer map) {
for (String key : map.keySet()) {
System.out.println(“name:” + key + “\tscore:” + map.get(key));
}
}
// 方法四: forEach
// 特點 速度較慢,但是代碼少,簡潔; (需要Java8或以上版本的支持)
public static void test4(HashMapString, Integer map) {
map.forEach((k, v) – System.out.println(“name:” + k + “\tscore:” + v));
}
}
四種方法之間的效率比較
(test1≈test2)(test3≈test4)
推薦: 數據量特別大的時候 使用方法1 : 代碼長,但是效率高
數據量較少的, 那麼使用方法4: 代碼簡潔而優雅~
java中的map怎麼根據key值修改value值?
java:Map param = new HashMap();
param.put(“a”,”3333″);
System.out.println(param.get(“a”)); //3333
if(param.containsKey(“a”)){
param.put(“a”, “565”);}
System.out.println(param.get(“a”));//565
map存值就類似於往一個瓶子中放東西,而key就是標籤,value就是其中放的東西,而取值的時候就相當於取東西,要知道所要取的東西的標籤才可以取東西,也就是map.get(“key”)。
key value根據關鍵字取值
如果輔以Real-Time Search Engine(實時搜索引擎)進行複雜條件檢索、全文檢索,就可以替代並發性能較低的MySQL等關係型數據庫,達到高並發、高性能,節省幾十倍服務器數 量的目的。以MemcacheDB、Tokyo Tyrant為代表的key-value分佈式存儲,在上萬並發連接下,輕鬆地完成高速查詢。而MySQL,在幾百個並發連接下,就基本上崩潰了。
以上內容參考:百度百科-Key-Value
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/192600.html