Örnek

Collections Sort İle Method Reference Örneği

Aşağıdaki gibi ad ve soyad bilgisini tutan bir Person sınıfımız olsun :
package com.test.methodreference;

public class Person {
	
	private String firstName;
	private String lastName;
	
	public Person(String firstName, String lastName) {
		this.firstName=firstName;
		this.lastName=lastName;
	}
	
	public String getFirstName() {
		return firstName;
	}
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	
	public static int compareByLastName(Person p1, Person p2){
		return p1.getLastName().compareTo(p2.getLastName());
	}

	@Override
	public String toString(){
		return getFirstName()+" "+getLastName();
	}
}
compareByLastName static method'u iki ismi soyada göre karşılaştırmaktadır. Bu sınıfa göre bir Person listesini sıralayabiliriz :
package com.test.methodreference;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class TestPerson {

	public static void main(String args[]) {
		
		List values = new ArrayList();

		values.add(new Person("Albert","Einstein"));
		values.add(new Person("Isaac","Newton"));
		values.add(new Person("Galileo", "Galilei"));
		values.add(new Person("Max ","Planck"));
		values.add(new Person("Werner","Heisenberg"));
		
		Collections.sort(values,Person::compareByLastName);

		values.forEach(System.out::println);
		
	}

}
Collections.sort(values,Person::compareByLastName) satırında Person::compareByLastName diyerek Person sınıfının static method'u reference olarak verilmiştir. values.forEach(System.out::println) satırında ise System.out::println ile out nesnesinin bir method'u reference olarak verilmiştir. Uygulama çalıştığında aşağıdaki gibi bir çıktı olacaktır : Albert Einstein Galileo Galilei Werner Heisenberg Isaac Newton Max Planck
zafer.teker , 12.10.2016

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir

Misafir Yorumları




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir