na Jawie, Mapa to interfejs mapujący klucze na wartości. Czasem trzeba to wdrożyć Mapa mapy (zagnieżdżona mapa).
Zagnieżdżona mapa jest używany w wielu przypadkach, np. do przechowywania nazwisk uczniów wraz z ich identyfikatorami różnych kursów. W tym przypadku tworzymy Mapę posiadającą klucz, czyli nazwę kursu i wartość, czyli kolejną Mapę posiadającą klucz, czyli Id i wartość, czyli imię i nazwisko studenta.
Aby utworzyć mapę mapy w Javie, powinniśmy wykonać następujące kroki:
- Pobierz całkowitą liczbę uczniów od użytkownika dla każdego kursu.
- Wypełnij dane ucznia dotyczące wszystkich kursów, pobierając dane od użytkownika.
- Wypełnij główną mapę, dodając nazwę kursu jako klucz i wypełnioną przez użytkownika mapę jako wartość.
- W pętli for najpierw konwertujemy wszystkie klucze mapy na listę ArrayList typu Object.
- Następnie pobieramy obiekt z listy metodą get() i pobieramy wartość z mapy odpowiadającą temu obiektowi w celu wydrukowania wartości.
Zaimplementujmy logikę tworzenia Map of Map do przechowywania danych.
MapOfMapExample.java
import java.util.HashMap; import java.util.Map; import java.util.*; //create class MapOfMapExample to create a MapOfMap Example public class MapOfMapExample { // main() method start public static void main(String[] args) { // declare variables int size1 = 0; int size2 = 0; // create a Map for BCA students that will store students Id and Name Map bcaStudents = new HashMap(); // create a Map for MCA students that will store students Id and Name Map mcaStudents = new HashMap(); // create Scanner class object to take input from user Scanner sc = new Scanner(System.in); System.out.println('Enter total number of BCA students.'); size1 = Integer.parseInt(sc.nextLine()); System.out.println('Enter total number of MCA students.'); size2 = Integer.parseInt(sc.nextLine()); // fill bcaStudents Map by taking input from user for(int i = 1; i <= size1; i++){ int id="100;" string name ; system.out.println('enter of ' + i 'st student bca:'); system.out.println('student '; mca:'); bca', bcastudents); students.put('mca', mcastudents); print students map system.out.println('map map: students); elements for (int < students.size(); arraylist data="new" arraylist(students.keyset()); object obj="data.get(i);" system.out.println('course: students: students.get(obj)); } close scanner class sc.close(); pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/java-tutorial/96/map-map-java.webp" alt="Map of Map in Java"> <hr></=>