entrySet()詳解及四種遍歷map的方式

小云
225
2024-02-05 11:08:44

entrySet()方法是Map接口中的一個(gè)方法,它會(huì)返回一個(gè)Set集合,這個(gè)集合中的元素是Map.Entry類型的對(duì)象,每個(gè)Map.Entry對(duì)象代表一個(gè)鍵值對(duì)。

Map.Entry是一個(gè)內(nèi)部接口,它定義了getKey()和getValue()方法,分別用于獲取鍵和值。

使用entrySet()方法可以方便地遍歷Map集合中的鍵值對(duì)。

以下是四種常見(jiàn)的遍歷Map集合的方式:

  1. 使用Iterator遍歷:
Map<String, Integer> map = new HashMap<>();
// 添加鍵值對(duì)
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);

// 使用entrySet()獲取鍵值對(duì)的Set集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();

// 使用Iterator遍歷entrySet集合
Iterator<Map.Entry<String, Integer>> iterator = entrySet.iterator();
while(iterator.hasNext()){
   Map.Entry<String, Integer> entry = iterator.next();
   String key = entry.getKey();
   Integer value = entry.getValue();
   // do something with key and value
}
  1. 使用增強(qiáng)for循環(huán)遍歷:
Map<String, Integer> map = new HashMap<>();
// 添加鍵值對(duì)
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);

// 使用entrySet()獲取鍵值對(duì)的Set集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();

// 使用增強(qiáng)for循環(huán)遍歷entrySet集合
for(Map.Entry<String, Integer> entry : entrySet){
   String key = entry.getKey();
   Integer value = entry.getValue();
   // do something with key and value
}
  1. 使用Lambda表達(dá)式遍歷:
Map<String, Integer> map = new HashMap<>();
// 添加鍵值對(duì)
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);

// 使用entrySet()獲取鍵值對(duì)的Set集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();

// 使用Lambda表達(dá)式遍歷entrySet集合
entrySet.forEach((entry) -> {
   String key = entry.getKey();
   Integer value = entry.getValue();
   // do something with key and value
});
  1. 使用Stream API遍歷:
Map<String, Integer> map = new HashMap<>();
// 添加鍵值對(duì)
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);

// 使用entrySet()獲取鍵值對(duì)的Set集合
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();

// 使用Stream API遍歷entrySet集合
entrySet.stream().forEach((entry) -> {
   String key = entry.getKey();
   Integer value = entry.getValue();
   // do something with key and value
});

這四種方式都可以用于遍歷Map集合中的鍵值對(duì),根據(jù)實(shí)際情況選擇合適的方式即可。

0