logo

Salīdzināma saskarne Java ar piemēriem

Salīdzināmais interfeiss tiek izmantots, lai salīdzinātu vienas klases objektu ar šīs klases gadījumu, tas nodrošina datu sakārtošanu lietotāja definētās klases objektiem. Klasei ir jāīsteno java.lang.Salīdzināms interfeiss, lai salīdzinātu savu instanci, tas nodrošina salīdzinātTo metodi, kas ņem šīs klases objekta parametru. Šajā rakstā mēs redzēsim, kā mēs varam kārtot dažādu datu tipu pāru masīvu pēc dažādiem salīdzināšanas parametriem.

Izmantojot salīdzināmu interfeisu

  • Šajā metodē mēs ieviesīsim salīdzināmo saskarni no java.lang Komplekts Pāru klasē.
  • Salīdzināmā saskarne satur metodi Salīdzinot ar lai izlemtu elementu secību.
  • Ignorēt Salīdzinot ar metode Pair klasē.
  • Izveidojiet pāru masīvu un aizpildiet masīvu.
  • Izmantojiet Masīvi.kārtot () funkcija, lai kārtotu masīvu.

1. piemērs

Dots pāru masīvs, kas sastāv no diviem laukiem ar tipa virkni un veselu skaitli. jums ir jākārto masīvs augošā leksikogrāfiskā secībā un, ja divas virknes ir vienādas, kārtojiet to pēc to veselā skaitļa vērtības.



I/O paraugs:

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








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]); } } }>

>

>

Izvade:

 Before Sorting: (abc, 3); (a, 4); (bc, 5); (a, 2); After Sorting: (a,2) (a,4) (abc,3) (bc,5)>

Piezīme: ja divas virknes ir vienādas, tad salīdzinājums tiek veikts, pamatojoties uz vērtību.

virkne uz json objektu

2. piemērs

Dots pāru masīvs, kas sastāv no divām virknēm ar vārdu un uzvārdu. masīvs ir jākārto augošā leksikogrāfiskā secībā pēc vārda un, ja divas virknes ir vienādas, kārtojiet to pēc to uzvārda.

I/O paraugs:

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




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]); } } }>

>

>

Izvade:

 Before Sorting: ( raj , kashup ) ( rahul , singh ) ( reshmi , dubey ) ( rahul , jetli ) After Sorting: ( rahul , jetli ) ( rahul , singh ) ( raj , kashup ) ( reshmi , dubey )>

Šajā rakstā mēs sakārtojām lietotāja definētus pārus ar dažādiem datu tipiem, izmantojot Java salīdzināmi .