logo

Java salīdzināms interfeiss

Java salīdzināmais interfeiss tiek izmantots, lai sakārtotu lietotāja definētās klases objektus. Šis interfeiss ir atrodams java.lang pakotnē, un tajā ir tikai viena metode ar nosaukumu salīdzinātTo(Object). Tas nodrošina tikai vienu kārtošanas secību, t.i., jūs varat kārtot elementus, pamatojoties tikai uz vienu datu dalībnieku. Piemēram, tas var būt rollno, vārds, vecums vai jebkas cits.

salīdzinātTo(Objekta objekts) metode

publisks int salīdzinātTo(Objekta objekts): To izmanto, lai salīdzinātu pašreizējo objektu ar norādīto objektu. Tas atgriežas

  • pozitīvs vesels skaitlis, ja pašreizējais objekts ir lielāks par norādīto objektu.
  • negatīvs vesels skaitlis, ja pašreizējais objekts ir mazāks par norādīto objektu.
  • nulle, ja pašreizējais objekts ir vienāds ar norādīto objektu.

Mēs varam kārtot elementus:

  1. Stīgu objekti
  2. Iesaiņojuma klases objekti
  3. Lietotāja definēti klases objekti

Kolekcijas klase

Kolekcijas klase nodrošina statiskas metodes kolekciju elementu šķirošanai. Ja kolekcijas elementi ir Set vai Map, mēs varam izmantot TreeSet vai TreeMap. Tomēr mēs nevaram kārtot saraksta elementus. Kolekciju klase nodrošina metodes List tipa elementu elementu kārtošanai.

Kolekciju klases metode saraksta elementu kārtošanai

publisks tukšuma kārtošana (saraksta saraksts): To izmanto, lai kārtotu saraksta elementus. Saraksta elementiem ir jābūt Salīdzināmā tipa.

Piezīme. Virkņu klase un Iesaiņojuma klases pēc noklusējuma ievieš saskarni Comparable. Tātad, ja virkņu vai iesaiņojuma klašu objektus saglabājat sarakstā, kopā vai kartē, pēc noklusējuma tas būs Salīdzināms.


Java salīdzināms piemērs

Apskatīsim salīdzināmās saskarnes piemēru, kas kārto saraksta elementus pēc vecuma.

Fails: Student.java

 class Student implements Comparable{ int rollno; String name; int age; Student(int rollno,String name,int age){ this.rollno=rollno; this.name=name; this.age=age; } public int compareTo(Student st){ if(age==st.age) return 0; else if(age>st.age) return 1; else return -1; } } 

Fails: TestSort1.java

 import java.util.*; public class TestSort1{ public static void main(String args[]){ ArrayList al=new ArrayList(); al.add(new Student(101,'Vijay',23)); al.add(new Student(106,'Ajay',27)); al.add(new Student(105,'Jai',21)); Collections.sort(al); for(Student st:al){ System.out.println(st.rollno+' '+st.name+' '+st.age); } } } 
 105 Jai 21 101 Vijay 23 106 Ajay 27 

Java salīdzināms piemērs: apgrieztā secībā

Apskatīsim to pašu salīdzināmās saskarnes piemēru, kas apgrieztā secībā kārto saraksta elementus pēc vecuma.

Fails: Student.java

 class Student implements Comparable{ int rollno; String name; int age; Student(int rollno,String name,int age){ this.rollno=rollno; this.name=name; this.age=age; } public int compareTo(Student st){ if(age==st.age) return 0; else if(age<st.age) return 1; else -1; } < pre> <p>File: TestSort2.java</p> <pre> import java.util.*; public class TestSort2{ public static void main(String args[]){ ArrayList al=new ArrayList(); al.add(new Student(101,&apos;Vijay&apos;,23)); al.add(new Student(106,&apos;Ajay&apos;,27)); al.add(new Student(105,&apos;Jai&apos;,21)); Collections.sort(al); for(Student st:al){ System.out.println(st.rollno+&apos; &apos;+st.name+&apos; &apos;+st.age); } } } </pre> <pre> 106 Ajay 27 101 Vijay 23 105 Jai 21 </pre></st.age)>
 106 Ajay 27 101 Vijay 23 105 Jai 21