轉自:
http://www.java265.com/JavaCourse/202204/2914.html
HashMap簡介:
基于哈希表的 Map 介面的實作,此實作提供所有可選的映射操作,并允許使用 null 值和 null 鍵,(除了非同步和允許使用 null 之外,HashMap 類與 Hashtable 大致相同,)此類不保證映射的順序,特別是它不保證該順序恒久不變, 此實作假定哈希函式將元素適當地分布在各桶之間,可為基本操作(get 和 put)提供穩定的性能,迭代 collection 視圖所需的時間與 HashMap 實體的“容量”(桶的數量)及其大小(鍵-值映射關系數)成比例,所以,如果迭代性能很重要,則不要將初始容量設定得太高(或將加載因子設定得太低)
下文筆者講述使用value找出對應key的方法分享,如下所示:
實作思路:
使用jdk8的stream流中的filter方法
對元素進行查找,并找出符合條件的元素
例:
package com.java265.other;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Optional;
import java.util.stream.Collectors;
public class Test16 {
/**
* java265.com 示例程式
*
* @throws Exception
*/
public static void main(String[] args) throws Exception {
Map<String, String> map = new HashMap<>();
map.put("k1", "java265.com");
map.put("k2", "我的網站");
map.put("k3", "我最愛的網站");
map.put("k4", "我喜歡的網站");
// 查找value 等于 我的網站 所對應的key
List<Entry<String, String>> list = map.entrySet().stream().filter(m -> m.getValue().equals("我的網站"))
.collect(Collectors.toList());
if (Optional.ofNullable(list).isPresent()) {
list.forEach(e->{
System.out.println("key:" + e.getKey() + " value:" + e.getValue());
});
}
}
}
-----運行以上代碼,將輸出以下資訊----
key:k2 value:我的網站
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/499510.html
標籤:Java
下一篇:Thread.sleep簡介說明
