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());
}
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.