26 Nisan 2010 Pazartesi

HashMap içindeki en yüksek key,value nasıl bulunur?

.
.
.
System.out.println("HashMap'in yüksek değeri (Value) " +

Collections.max(hm.values()) + ", ve HashMap'in yüksek anahtarı (Key) " +

(Collections.max(hm.keySet())));
.
.
.

19 Nisan 2010 Pazartesi

SQL left join right join

.
.
.

SELECT column_ad(ları)
FROM tablo_adı1
LEFT JOIN tablo_adı2
ON tablo_adi1.column_adi = tablo_adi2.column_adi


LEFT JOIN anahtarı tablo 1'deki tüm satırları getirir tablo 2 'de karşılığı olmasada...

RIGHT JOIN anahtarı ise tablo2'deki tüm satırları getirir tablo1'de karşılığı olmasada :)

kaynak : http://www.w3schools.com/sql/sql_join_right.asp

.
.
.

9 Nisan 2010 Cuma

Polimorfizm

minerallerin aynı kimyasal bileşiminde olupta diğer fiziksel özelliklerinin farklı olması olayına denir. farklı iki şekilde bulunan bileşiğe dimorf, üç şekilde bulunana trimorf denir.

örnek: en yaygın örnektir; kömür ve elmas aynı iç yapıya sahip olmalarına rağmen, atomlarının sahip olduğu farklı bağ yapısı bunların birbirlerinden çok farklı fiziksel özelliğe sahip olmalarına neden olmuştur.(*) *itusozluk

konuya buradan giriş yaparsak önce olayın ne olduğunu gerçek hayattan örnek olarak görmüş oluruz.

bunu java'ya uyguladığımızda da yine adı polimorfizm olarak geçmektedir.

Java, türetilen sınıfa ait bir variable ya da referansın ondan türemiş (extends) olan nesne ya da nesnelerde kullanılması anlamına gelir.

Alt sınıf, türetildiği ana sınıfa ait tüm özellikleri alır; yani, ana sınıf ne yapıyorsa türetilen alt sınıfta bu işlemlerin aynısını yapabilir ama türetilen alt sınıfların kendilerine ait bir çok yeni özelliği de olabilir. (http://www.bilgisayarmuhendisleri.com/sayfa.aspx?s=38)

upcasting : türetilen alt sınıfa ait nesnenin, ana sınıf tipindeki referansa bağlamanın yukarı doğru yani >

Araba sınıfına ait bir metot var : public void sur() { System.out.println("Araba Sur");}

Aile arabası ve yarış arabası ürettik (Araba sınıfını extend ettik)

public class DenemeSurusu {
public static void arabaDene(Araba ar) {
ar.sur();
}

public static void main(String args[]) {
arabaDene( new YarisArabasi() ) ;
}

}

arabaDene metodu Araba tipinde bir bir obje kabul etmekte iken biz ona YarisArabasi tipinde bir obje verdik. YarisArabasi > Araba'dan türedi bu olaya upcasting diyoruz.

Sonucda türemiş olan obje her zaman ana objenin methodlarına veya değişkenlerine sahip olacaktır(private lar hariç ) ama yeni türetilmiş olan bu objenin ekstradan methodları veya değişkenleri olabilir.

Downcasting , daha genel bir tipden daha gelişmiş bir değişim ise upcasting kadar basit ve güvenli olmayabilir .Eğer bir yer de upcasting veya downcasting den bahsediliyorsa orada kesinlikle inheritance (kalıtım) vardır .

super.metodAdi(); denildiğinde türetildiği sınıfın uygulamalarını gerçekleştirir.

Şuanki tarihin 6 ay sonrası tarihi getirmek

public static void main(String[] args) {


Calendar now = Calendar.getInstance();
now.add(Calendar.MONTH,6);

String altiAySonrasi =(now.get(Calendar.DATE) -1) + "/" + (now.get(Calendar.MONTH) + 1)+ "/"+ now.get(Calendar.YEAR);

System.out.println("Alti ay sonrasi : " + altiAySonrasi);

// Calendar now = Calendar.getInstance();
// System.out.println("Current date : " + (now.get(Calendar.MONTH) + 1)
// + "-"+ now.get(Calendar.DATE)+ "-" + now.get(Calendar.YEAR));
//
//
// now.add(Calendar.MONTH,6);
//
// System.out.println("date after 6 months : " + (now.get(Calendar.MONTH) + 1)+ "-"
// + (now.get(Calendar.DATE) -1) + "-"+ now.get(Calendar.YEAR));
//
// now = Calendar.getInstance();
// now.add(Calendar.MONTH, -5);
//
// System.out.println("date before 5 months : " + (now.get(Calendar.MONTH) + 1)
//
// + "-"+ now.get(Calendar.DATE) + "-"+ now.get(Calendar.YEAR));

}

Bugünün tarihi : 09/04/2010.....

Çıktısı : Alti ay sonrasi : 8/10/2010

kaynak: http://www.java-examples.com

16 Aralık 2009 Çarşamba

hibernateSession.refresh();

09:23:51,530 ERROR [STDERR] java.lang.IllegalArgumentException: Attempt to generate refresh event with null object
09:23:51,531 ERROR [STDERR] at org.hibernate.event.RefreshEvent.(RefreshEvent.java:19)
09:23:51,531 ERROR [STDERR] at org.hibernate.impl.SessionImpl.refresh(SessionImpl.java:886)
09:23:51,531 ERROR [STDERR] at org.jboss.seam.persistence.HibernateSessionProxy.refresh(HibernateSessionProxy.java:351)

ilgili class'taki hibernateSession.refresh(unit);

// hibernateSession.refresh(unit); kaldırılmalı.

11 Aralık 2009 Cuma

while loop, iterator ve for each

While loop, iterator veya for each hepsi de aslında aynı işlevi görüyor.
Ekran çıktısına bakıldığında üç kez haftanın günlerini yazdı.


import java.util.ArrayList;
import java.util.Iterator;

public class Main {
public static void main(String[] args) {

//Yeni bir arraylist oluşturduk
ArrayList list = new ArrayList();

//listeye haftanın günlerini ekledik
list.add("Pazartesi");
list.add("Salı");
list.add("Çarşamba");
list.add("Perşembe");
list.add("Cuma");
list.add("Cumartesi");
list.add("Pazar");

Iterator iterator = null;

iterator = list.iterator();
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}

for (iterator = list.iterator(); iterator.hasNext();) {
String element = iterator.next();
System.out.println(element);
}

//Benim tercihim for each döngüsü :)
for (String element : list) {
System.out.println(element);
}
}
}

ekran çıktısı :

/*
Pazartesi
Salı
Çarşamba
Perşembe
Cuma
Cumartesi
Pazar
Pazartesi
Salı
Çarşamba
Perşembe
Cuma
Cumartesi
Pazar

Pazartesi
Salı
Çarşamba
Perşembe
Cuma
Cumartesi
Pazar

*/

Kaynak: www.java2s.com

ArrayList sort();

Elinizde karşık bir liste var ve siz bu listenin içeriğinin sıralı bir şekilde gelmesini istiyorsunuz.

public class Sirala(){

public static void(){

//yeni bir liste oluşturuyoruz.
ArrayList arrayList = new ArrayList();
arrayList.add("1");
arrayList.add("3");
arrayList.add("2");
arrayList.add("5");
arrayList.add("4");

// elimizdeki arrayList'ti collection'ın sort methodu ile sıralıyoruz.
Collections.sort(arrayList);

//sıralanmış arraylistimizi for each ile sırayla ele alıp yazırıyoruz.
for(String str : arrayList){

//ekrana yazdırma
System.out.printLn(str);
}
}
}


çıktısı :
1
2
3
4
5