Java Map में सभी प्रविष्टियों को कुशलतापूर्वक कैसे पुनरावृत्त करें और key और value प्राप्त करें?
सभी को नमस्कार! मैंने अभी Java सीखना शुरू किया है और मुझे इस समस्या का सामना करना पड़ा।
मेरे पास एक HashMap है, जिसमें मैं कुछ डेटा जोड़ता हूँ। उदाहरण के लिए, मैं वहाँ छात्रों के नाम और उनके ग्रेड संग्रहीत करता हूँ:
```java
Map studentGrades = new HashMap<>();
studentGrades.put("Анна", 90);
studentGrades.put("Иван", 85);
studentGrades.put("Мария", 95);
```
अब मुझे सभी छात्रों और उनके ग्रेड को स्क्रीन पर प्रदर्शित करने की आवश्यकता है। यह एक सरल कार्य लगता है, लेकिन मैं इंटरनेट पर Map को पुनरावृत्त करने के कई अलग-अलग तरीके देखता हूँ: entrySet(), keySet(), values(), lambdas, for-each, iterators... मैं भ्रमित हो गया हूँ।
मैंने इस तरह प्रयास किया:
```java
for (String key : studentGrades.keySet()) {
System.out.println("छात्र: " + key + ", ग्रेड: " + studentGrades.get(key));
}
```
यह काम करता है, लेकिन मुझे बताया गया कि यह कुशल नहीं है, क्योंकि मैं हर बार key के आधार पर get() करता हूँ। और अगर Map बड़ा हो? और अगर मुझे पुनरावृत्ति के दौरान केवल पढ़ना नहीं, बल्कि तत्वों को हटाना भी हो? मैंने ConcurrentModificationException के बारे में सुना है।
क्या आप