/** * * @author hector */ package com.zazil.dwh.app.test; import java.util.ArrayList; import java.util.Iterator; import java.util.Map; import java.util.SortedMap; import java.util.TreeMap; public class TestTreeMap { public static void main(String[] args) { //TreeMap mapa = new TreeMap(); SortedMap<String,SortedMap<String,ArrayList<String>>> mapaGeneral = new TreeMap<>(); SortedMap<String,ArrayList<String>> mapaMensual = new TreeMap<>(); ArrayList<String> listaDias = new ArrayList<>(); mapaGeneral.put("2013", mapaMensual); for (int i = 0; i < 10; i++) { listaDias.add(Integer.toString(i)); } mapaMensual.put("01", listaDias); ArrayList<String> listaDias2 = new ArrayList<>(); for (int i = 0; i < 10; i++) { listaDias2.add(Integer.toString(i)); } mapaMensual.put("02", listaDias2); ArrayList<String> listaDias3 = new ArrayList<>(); for (int i = 0; i < 10; i++) { listaDias3.add(Integer.toString(i)); } mapaMensual.put("03", listaDias3); System.out.println("Leer mapa mensual"); for (Map.Entry<String, ArrayList<String>> mapaMeses : mapaMensual.entrySet()) { String mes = mapaMeses.getKey(); ArrayList<String> dias = mapaMeses.getValue(); System.out.println("Mes: " + mes); for (Iterator<String> it = dias.iterator(); it.hasNext();) { String dia = it.next(); System.out.print(" " + dia + "\t"); } System.out.println(""); } System.out.println("Leer mapa mensual desde mapa general"); for (Map.Entry<String, SortedMap<String, ArrayList<String>>> listaAños : mapaGeneral.entrySet()) { String año = listaAños.getKey(); SortedMap<String,ArrayList<String>> listaMeses = listaAños.getValue(); System.out.println("Año: " + año); for (Map.Entry<String, ArrayList<String>> entry : listaMeses.entrySet()) { String mes = entry.getKey(); ArrayList<String> listadias = entry.getValue(); System.out.println("Mes: " + mes); for (Iterator<String> it = listadias.iterator(); it.hasNext();) { String dia = it.next(); System.out.print("" + dia + "\t"); } System.out.println(""); } } System.out.println("Cantidad de meses en mapa: " + mapaGeneral.size()); System.out.println("Numero de llaves: " + mapaGeneral.keySet().size());//Da 1 y es valido por que solo hay 1 año //mapaGeneral.firstKey(); mapaGeneral.get(mapaGeneral.firstKey()).keySet().size(); System.out.println("Numero de llaves: " + mapaGeneral.get(mapaGeneral.firstKey()).keySet().size()); } }