簡體   English   中英

為什么map.keyset()返回設置視圖,而map.values()返回Java中的集合?

[英]why map.keyset() returns set view but map.values() returns collections in Java?

這個問題更多地是關於Java開發人員的設計實現。 我想知道(如果有什么重要的原因我不能想到)為什么Keyset()返回set-view但values()返回Collection-view 為什么不使用set-viewValues()作為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM