ورود

View Full Version : سوال: مرتب سازی آرایه از نوع کلاس



irpersian20
جمعه 23 فروردین 1392, 19:05 عصر
سلام
من آرایه از ای نوع کلاس دارم.
میخواهم به واسطه عنصر داخلی اونها که DOUBLE هست . مرتب کنم اونها.
لطفا ایده یا نظری دهید.
در سی شارپ تونستم اما جاوا نشد@

younes221
جمعه 23 فروردین 1392, 19:40 عصر
سلام ؛ من یک مثال واست میزن خودت دیگه بر اساس مثال مشکلت رو حل کن ، اساس کار استفاده از رابط Comparable هست که اصولا یک نوع داده عمومی به حساب میاد :

اول یک کلاس درست میکنیم با کد زیر :


class Person implements Comparable<Person>{
private String _name;
private String _Family;
private byte _age;

public Person(String name , String family , byte age){
this._name = name;
this._Family = family;
this._age = age;
}

public String getName(){return this._name;}
public String getFamily(){return this._Family;}
public byte getAge(){return this._age;}

@Override
public String toString(){return (this._name + " " + this._Family);}

@Override
public int compareTo(Person o) {
if(this._age < o.getAge()){
return -1;
}else{
return +1;
}
}


}

سپس میتونید به طریق زیر از این کلاس استفاده کنید :

Person[] arrays = {//create an array and put three elements in it
new Person("amin", "azadi", (byte)20),
new Person("mahsa", "kk", (byte)30),
new Person("darab", "oop", (byte)15)
};

Arrays.sort(arrays);//sort array based on persons'age
for(Person counter:arrays){//print array content
System.out.println(counter.toString());
}