В Java, Карта е интерфейс, който съпоставя ключове със стойности. Понякога се изисква изпълнение Карта на картата (вложена карта).
Вложена карта се използва в много случаи, като например съхраняване на имена на студенти с техните идентификатори на различни курсове. В този случай ние създаваме карта с ключ, т.е. име на курс и стойност, т.е. друга карта с ключ, т.е. идентификатор и стойност, т.е. име на ученика.
Трябва да използваме следните стъпки, за да създадем Map of Map в Java:
- Вземете общия брой студенти от потребителя за всеки курс.
- Попълнете информацията за студента за всички курсове, като вземете информация от потребителя.
- Попълнете основната карта, като добавите името на курса като ключ и попълнената от потребителя карта като стойност.
- В рамките на цикъла for първо преобразуваме всички ключове на Map в ArrayList от тип Object.
- След това получаваме обекта от списъка с помощта на метода get() и получаваме стойност от картата, съответстваща на този обект за отпечатване на стойност.
Нека приложим логиката за създаване на Map of Map за съхраняване на данни.
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></=>