Pāru klase ir pazīstama tiem no mums, kuri ir lietojuši C ++ ievērojamu laiku. Lai gan ir runāts par tā pievienošanu Java kā SDK standarta sastāvdaļai, tā ir nedaudz pretrunīga tēma. Vairāki ļaudis to ir oficiāli pieprasījuši, un pat ir iesniegtas kļūdas (4947273, 4983155 un 6229146), lai to iegūtu Java. Ziņā, kurā uzdots jautājums, vai mēs vēlamies java.util.Pair?, Alekss Millers veic jauku darbu, aptverot abas problēmas puses.
Programma jau ir ieviesta Pāris
vai a Pāris
līdzīgs ekvivalents tur Java. Līdztekus nezināmajam lokālo kodu bāzē esošo pielāgoto versiju skaitam ir publiski pieejami piemēri, piemēram, tie, kurus nodrošina ziņa Java Pair Class, piemēri, kas sniegti StackOverflow pavedienā, Ideograph Generic Pair un (nav pārsteigums) Java Tuples's Pair. Android SDK ir arī Pair klase. Visvairāk mani pārsteidza JavaFX 2.0 javafx.util.Pair klases esamība.
Pakotnes un klases nosaukums visbiežāk tiek piedāvāts SDK versijai Pāris
klase ir bijusi java.util.Pāris
un JavaFX versija pakotnes nosaukumā ir līdzīga: javafx.util.Pair
. Javap palaišana pret šo klasi JavaFX SDK noved pie šādas izejas.
Sastādīts no "Pair.java" publiskās klases javafx.util.Pair {public K getKey (); public V getValue (); public javafx.util.Pair (K, V); publiskais java.lang.String toString (); public int hashCode (); publiskais būla skaitlis ir vienāds (java.lang.Object); }
Kā jau iepriekš javap
izeja norāda, ka šī ir salīdzinoši vienkārša klase ar pamata parametrizētu konstruktoru, "get" metodēm atslēgas un vērtības daļām Pāris
, un "kopīgas" metodes toString ()
, vienāds (objekts)
, un hashCode ()
. Nākamajā kodu sarakstā parādīts, kā tiek izmantots parametrizētais konstruktors, lai nodrošinātu atslēgu un vērtību katram gadījumam Pāris
tas tiek instantizēts.
/ ** * Nodrošiniet slavenu pāru kolekciju. * * @return Slavenu pāru kolekcija. * / privāta statiska kolekcija createFamousPairs () {galīgā kolekcija pāri = jauns ArrayList(); pāri.add (jauns pāris ("Yin", "Yang")); pāri.add (jauns pāris ("Darbība", "Reakcija")); pāri.add (jauns pāris ("Sāls", "Pipari")); pāri.add (jauns pāris ("Starsky", "Hutch")); pāri.add (jauns pāris ("Fox", "Mulder")); pāri.add (jauns pāris ("Betmens", "Robins")); pāri.add (jauns pāris ("Fred Astaire", "Ginger Rogers")); pāri.add (jauns pāris ("Flotsam", "Jetsam")); pāri.add (jauns pāris ("Brutus", "Nero")); pāri.add (jauns pāris ("Toms", "Džerijs")); pāri.add (jauns pāris ("Jekyll", "Hyde")); pāri.add (jauns pāris ("Holmes", "Watson")); pāri.add (jauns pāris ("Mario", "Luigi")); pāri.add (jauns pāris ("Pinky", "The Brain")); pāri.add (jauns pāris ("Wallace", "Gromit")); atgriešanās pāri; }
Piekļuve katra atslēgai un vērtībai Pāris
ir arī viegli, kā parādīts nākamajā koda paraugā.
/ ** * Rakstiet paredzēto pāru kolekciju standarta izvadā. * * @param title Standarta izvadā ierakstīta produkta nosaukums. * @param pairsToPrint pāri, kas jāraksta standarta izvadē. * / private static void writeCollectionOfPairs (pēdējais virknes nosaukums, galīgā kolekcija pairsToPrint) {out.println (nosaukums + ":"); for (galīgais Pair pair: pairingsToPrint) {out.println ("\ t" + pair.getKey () + "un" + pair.getValue ()); }}
Iepriekš minētais piemērs ir samērā izdomāts, taču to varētu uzskatīt par visefektīvāko izmantojumu Pāris
jo šajā konkrētajā piemērā tas patiešām ir pārstāvēts "pāra" jēdziens. Viena no lielākajām sūdzībām par pievienošanu Pāris
SDK vai vispārīgi lietojot, ir tas, ka tas nav nosaukts pietiekami precīzi, lai aptvertu objekta eksistences uzņēmējdarbības mērķi. Es faktiski biju domājis par JavaFX lietošanu Pāris
klase, kad es uzrakstīju savu Ziemassvētku eglītes piemēru ziņai JavaFX 2.0 Ziemassvētku eglīte (JavaFX 2.0 formas). Es beidzot izlēmu pret to un izmantoju piemērotāk nosauktu ligzdu Koordinēt
klasē. Tomēr es būtu varējis viegli izmantot Pāris
šajā piemērā. Nākamajā kodu sarakstā ir tieši šis piemērs ar ligzdām Koordinēt
klase noņemta un atsauces uz to aizstātas ar Pāris
.