2017.12.19 - HashMap + SortedSet - wykład Gdańsk

 

2017.12.19 - wykład Gdańsk

Mechanizm losujący skojarzenia między nazwiskami a nazwami zwierząt przy użyciu HashMap oraz SortedSet.

1. Tworzymy HashMap, w której losobo wybrane liczby są kluczami, a nazwiska są wartościami.

2. Tworzymy listę animal, na której znajdują się zwierzęta do wylosowania.

3. Kontrolnie wyświetlamy zawartość mapy (sekcja oznaczona komentarzem //Display HashMap contents).

4. Sortujemy zbiór kluczy HashMapy według wartości klucza (kluczami są losobo wybrane liczby).

5. Za pomocą pętli foreach iterujemy po

import java.util.*;

public class ProgramHashMap02 {
   public static void main( String[] args ) {
   		Map<Integer, String> mapaLosów = new HashMap<Integer, String>();

   		mapaLosów.put( new Random().nextInt(1000000), "Domeracki" );
   		mapaLosów.put( new Random().nextInt(1000000), "Maciąg" );
   		mapaLosów.put( new Random().nextInt(1000000), "Baum" );
   		mapaLosów.put( new Random().nextInt(1000000), "Kupras" );
   		mapaLosów.put( new Random().nextInt(1000000), "Cygert" );

   		String[] animals = { "Grebe", "Penguin", "Pike", "Squirrel", "Seal" };

   		//Display HashMap contents
   		for( Map.Entry<Integer, String> entry : mapaLosów.entrySet() ){
   			System.out.println( entry.getKey() + " : " + entry.getValue() );  
   		}

   		//Sort HashMap
   		SortedSet<Integer> values = new TreeSet<Integer>( mapaLosów.keySet() );
   		System.out.println(  values  );

   		//Get names by key values after sorting
   		int n=0;
   		for( Integer el : values ) {
   			System.out.println( el + " : " + mapaLosów.get( el ) + " --- " + animals[n] );
   			n++;
   		}

	}
}