[英]why map.keyset() returns set view but map.values() returns collections in Java?
這個問題更多地是關於Java開發人員的設計實現。 我想知道(如果有什么重要的原因我不能想到)為什么Keyset()
返回set-view但values()
返回Collection-view
。 為什么不使用set-view
將Values()
作為ValueSet
返回。 我可以根據需要進行設置,但是為什么要這樣選擇呢。
也許這有助於確定在構建自定義數據結構時要使用的數據結構。
Map<String, Integer> map = new HashMap<String,Integer>();
map.put("hello",1);
map.put("world",2);
Collection <Integer> i = map.values();
Set<String> s = map.keySet();
根據定義, Map
的鍵形成一個Set
,它是唯一鍵的集合。 但是, Map
的值可以重復。 因此,對於Map
不同鍵,可以具有相同的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.