Kartan gränssnitt i Java API ger användarna ett enkelt sätt lagra information i så att den kan nås baseras på dess relation till annan information. Det finns totalt nitton implementationer av Map interface i Java 6,0 API , var anpassade till en viss uppgift . Den mest generella av implementationer är HashMap klassen , och det är väl anpassad till de flesta behov för kartan gränssnittet
Du behöver : . .
Java
1
Skapa en Java- fil med namnet MapExample. java . Klistra in följande grundläggande kod i den :
import java . util. Collection ;
import java. util. HashMap ;
/**
* Denna klass kommer att ge ett exempel för MapInterface
* @ author Kevin Walker .
* /
public class MapExample {
/**
* Denna konstruktor metod kommer att utföra några transaktioner med HashMap genomförandet
* av Java Map -gränssnittet så snart som skapade . .
* /
offentliga MapExample () { }
/**
* Den huvudsakliga funktionen startar upp MapExample konstruktorn och ingenting annars
* /
public static void main ( String [ ] args ) {
nytt MapExample () ; }
.
}
2 .
Skapa en HashMap . Lägg till följande rad till MapExample () -konstruktorn metod :
map=new HashMap () ;
Alla implementationer av " Karta "interface i Java API knyta uppgifter till en " nyckel " representeras av en annan bit av data . Eftersom Map är ett gränssnitt , kan du inte skapa en karta direkt utan bör i stället använda någon av de implementationer som Java API . I detta fall är den enklaste kartan, HashMap , användas.
3 .
Befolka Hashmap . Tillsätt nästa några rader kod till samma metod som tidigare :
karta . sätta ( " ålder " , 29 ) ,
map. put ( " höjd " , 6,0 ) ;
map. put ( " förnamn " , " Kevin " ) ;
map. put ( " Efternamn " , " Walker " ) ;
Som ni kan se , bitar av information, som kallas värden, lagras enligt ett sökord , kallad nyckel . Senare kommer du att kunna hämta information veta bara nyckeln . Det viktigt att komma ihåg att vid lagring av information i en karta, nyckel, alltid kommer först , och värdet kommer alltid andra .
4 .
Hämta information från kartan .
System. out. println (" Förnamn : " + map. get ( "förnamn "));
System. out. println ( " Efternamn : " + map. get ( "Efternamn "));
System. out. println (" Ålder : " + map. get ( " ålder " ) + " år ") ;
System. out. println (" höjden : "+ map. get ( " höjd " ) + " fötter " ) .
5
Bygg en begränsad karta . Alla implementationer av Map -gränssnittet kan initieras att kräva vissa typer av uppgifter och inte andra . Lägg till följande rad i samma metod :
Karta
limitedMap=new HashMap () ;
I detta exempel är en karta som initieras som kräver en För en nyckel och relaterar det till ett heltal av data . Så , ut i koden :
limitedMap. put ( " ålder " , 29 ) ,
limitedMap. put ( " höjd " , 6,0 ) ;
limitedMap. put ( " förnamn " , " Kevin " ) ;
limitedMap. put ( "Efternamn " , " Walker " ) ;
bara den första raden kommer att fungera. Rad två kommer att orsaka ett kompileringsfel eftersom det är försöker lagra en dubbel i stället för ett heltal . Linjer tre och fyra kommer att orsaka ett kompileringsfel eftersom de försöker att lagra strängar .
tips och varningar
Programmerare bekant med begreppet matriser kan tänka Kartor som matriser där data hämtas från en relation med annan information i stället för genom sin position i arrayen . Ett vanligt sätt att komma åt data i en karta är en sträng sökord , men andra relationer är möjliga Kartor inte genomför gränssnittet för insamling , och detta innebär att du inte kan använda " för ( Objekt x : . Map m ) " syntax för iteration genom dem . Många av de förvalda implementationer av Map -gränssnittet , inklusive Hashmap klassen , inte upprätthålla ordningen på de givna föremålen. För samlingar av data som måste förbli sortering , anser TreeMap klassen . När man skapar kartor som accepterar endast begränsade värden , primitiver datatyper som " int " och " dubbel " inte kan användas antingen som nycklar eller värden . Istället måste du använda deras klassbaserade motsvarigheter , " Integer " och " Double ".