Palyginamoji sąsaja naudojama tos pačios klasės objektui palyginti su tos klasės egzemplioriumi, joje pateikiama vartotojo apibrėžtos klasės objektų duomenų tvarka. Klasė turi įgyvendinti java.lang.Palyginama sąsaja, kad būtų galima palyginti savo egzempliorių, jis pateikia palyginimo metodą, kuris paima tos klasės objekto parametrą. Šiame straipsnyje pamatysime, kaip galime surūšiuoti skirtingų duomenų tipų poras pagal skirtingus palyginimo parametrus.
Palyginamos sąsajos naudojimas
- Šiuo metodu mes įdiegsime palyginamąją sąsają iš java.lang Paketas porų klasėje.
- Palyginamojoje sąsajoje yra metodas palyginti su nuspręsti elementų eiliškumą.
- Nepaisyti palyginti su metodas Pair klasėje.
- Sukurkite porų masyvą ir užpildykite masyvą.
- Naudoti Masyvai.rūšiuoti () funkcija masyvo rūšiavimui.
1 pavyzdys
Pateiktas porų masyvas, susidedantis iš dviejų laukų tipo eilutės ir sveikojo skaičiaus. masyvą turite rūšiuoti didėjančia leksikografine tvarka ir, jei dvi eilutės yra vienodos, rūšiuokite pagal jų sveikojo skaičiaus reikšmę.
I/O pavyzdys:
Input: { {'abc', 3}, {'a', 4}, {'bc', 5}, {'a', 2} } Output: { {'a', 2}, {'a', 4}, {'abc', 3}, {'bc', 5} } Input: { {'efg', 1}, {'gfg', 1}, {'cba', 1}, {'zaa', 1} } Output: { {'cba', 1}, {'efg', 1}, {'gfg', 1}, {'zaa', 1} }> Java
javascript kintamasis globalus
metodo nepaisymas java
import> java.io.*;> import> java.util.*;> class> Pair>implements> Comparable {> >String x;> >int> y;> >public> Pair(String x,>int> y)> >{> >this>.x = x;> >this>.y = y;> >}> >public> String toString()> >{> >return> '('> + x +>','> + y +>')'>;> >}> >@Override> public> int> compareTo(Pair a)> >{> >// if the string are not equal> >if> (>this>.x.compareTo(a.x) !=>0>) {> >return> this>.x.compareTo(a.x);> >}> >else> {> >// we compare int values> >// if the strings are equal> >return> this>.y - a.y;> >}> >}> }> public> class> GFG {> >public> static> void> main(String[] args)> >{> >int> n =>4>;> >Pair arr[] =>new> Pair[n];> >arr[>0>] =>new> Pair(>'abc'>,>3>);> >arr[>1>] =>new> Pair(>'a'>,>4>);> >arr[>2>] =>new> Pair(>'bc'>,>5>);> >arr[>3>] =>new> Pair(>'a'>,>2>);> >// Sorting the array> >Arrays.sort(arr);> >// printing the> >// Pair array> >print(arr);> >}> >public> static> void> print(Pair[] arr)> >{> >for> (>int> i =>0>; i System.out.println(arr[i]); } } }> |
>
atvirkštinė eilutė java
>
Išvestis:
Before Sorting: (abc, 3); (a, 4); (bc, 5); (a, 2); After Sorting: (a,2) (a,4) (abc,3) (bc,5)>
Pastaba: jei dvi eilutės yra vienodos, palyginimas atliekamas pagal vertę.
2 pavyzdys
Duota porų masyvas, susidedantis iš dviejų eilučių su vardais ir pavardėmis. masyvą turite rūšiuoti didėjimo leksikografine vardo tvarka ir, jei dvi eilutės yra vienodos, rūšiuokite pagal jų pavardę.
Java pavyzdys
I/O pavyzdys:
Input: { {'raj', 'kashup'}, {'rahul', 'singh'}, {'reshmi', 'dubey'}, {'rahul', 'jetli'} } Output: { {'rahul', 'jetli'}, {'rahul', 'singh'}, {'raj', 'kashup'}, {'reshmi', 'dubey'} } Input: { {'abc', 'last'}, {'pklz', 'yelp'}, {'rpng', 'note'}, {'ppza', 'xyz'} } Output: { {'abc', 'last'}, {'pklz', 'yelp'}, {'ppza', 'xyz'}, {'rpng', 'note'} }> Java
turi kitą java
import> java.io.*;> import> java.util.*;> class> Pair>implements> Comparable {> >String firstName;> >String lastName;> >public> Pair(String x, String y)> >{> >this>.firstName = x;> >this>.lastName = y;> >}> >public> String toString()> >{> >return> '( '> + firstName +>' , '> + lastName +>' )'>;> >}> >@Override> public> int> compareTo(Pair a)> >{> >// if the string are not equal> >if> (>this>.firstName.compareTo(a.firstName) !=>0>) {> >return> this>.firstName.compareTo(a.firstName);> >}> >else> {> >// we compare lastName if firstNames are equal> >return> this>.lastName.compareTo(a.lastName);> >}> >}> }> public> class> GFG {> >public> static> void> main(String[] args)> >{> >int> n =>4>;> >Pair arr[] =>new> Pair[n];> >arr[>0>] =>new> Pair(>'raj'>,>'kashup'>);> >arr[>1>] =>new> Pair(>'rahul'>,>'singh'>);> >arr[>2>] =>new> Pair(>'reshmi'>,>'dubey'>);> >arr[>3>] =>new> Pair(>'rahul'>,>'jetli'>);> >// Sorting the array> >Arrays.sort(arr);> >// printing the> >// Pair array> >print(arr);> >}> >public> static> void> print(Pair[] arr)> >{> >for> (>int> i =>0>; i System.out.println(arr[i]); } } }> |
>
>
Išvestis:
Before Sorting: ( raj , kashup ) ( rahul , singh ) ( reshmi , dubey ) ( rahul , jetli ) After Sorting: ( rahul , jetli ) ( rahul , singh ) ( raj , kashup ) ( reshmi , dubey )>
Šiame straipsnyje mes surūšiavome vartotojo nustatytas poras su skirtingais duomenų tipais naudodami „Java“. palyginamas .