Aynı "id" alanına sahip kişiler listeye eklenmez.
Kod: Tümünü seç
import java.util.HashSet;
public class HashSetNesneMain {
public static void main(String args[]) {
HashSet<Personel> personeller = new HashSet<>();
// Yeni personeller olustur
Personel p1 = new Personel(1,"Yusuf","Karakoyun",32);
Personel p2 = new Personel(2,"Merve","Uzun",20);
Personel p3 = new Personel(3,"Veysi","Kısa",18);
Personel p4 = new Personel(4,"Cemal","Cefakar",42);
Personel p5 = new Personel(5,"Yunus","Fedakar",34);
// personelleri Ana listeye ekle
personeller.add(p1);
personeller.add(p2);
personeller.add(p3);
personeller.add(p4);
personeller.add(p5);
// TEST ET
// Aynı id olan Personeller Listeye eklenmez. 1, 3, 5 id var
Personel p6 = new Personel(1,"yeni","eleman",30);
Personel p7 = new Personel(3,"sıfır","elaman",32);
Personel p8 = new Personel(5,"güzel","elaman",34);
personeller.add(p6);
personeller.add(p7);
personeller.add(p8);
// Tüm Listeyi yazdır
for(Personel p :personeller){
System.out.println("Personel adı :" +p.getAdi() + " Soyadı :" +p.getSoyadi() + " Yaşı :" + p.getYasi());
}
}
}
Kod: Tümünü seç
import android.support.annotation.NonNull;
public class Personel implements Comparable<Personel> {
public int id;
public String adi;
public String soyadi;
public int yasi;
public static int sayac;
public Personel() {
sayac++;
}
public Personel(int id,String adi, String soyadi, int yasi) {
sayac++;
this.id = id;
this.adi = adi;
this.soyadi = soyadi;
this.yasi = yasi;
}
public String getAdi() {
return adi;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public void setAdi(String adi) {
this.adi = adi;
}
public String getSoyadi() {
return soyadi;
}
public void setSoyadi(String soyadi) {
this.soyadi = soyadi;
}
public int getYasi() {
return yasi;
}
public void setYasi(int yasi) {
this.yasi = yasi;
}
public static int getSayac() {
return sayac;
}
public static void setSayac(int sayac) {
Personel.sayac = sayac;
}
/**
* Yaşına veya adına göre otomatik sıralama
* @param o
* @return
*/
@Override
public int compareTo(@NonNull Personel o) {
//return new Integer(this.yasi).compareTo(o.getYasi());
return new String(this.adi).compareTo(o.getAdi());
}
@Override
public int hashCode() {
return this.id;
}
/**
* Aynı verinin 2.kez kaydını engellemek için kullanılacak
* @param obj
* @return
*/
@Override
public boolean equals(Object obj) {
if(this.id==((Personel)obj).getId()){
return true;
}else{
return false;
}
}
}