Java etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Java etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Java Koleksiyon Sınıfları



Koleksiyonlar klasik arraylar gibidir fakat arraylarda kullanamadığımız bir çok metodu bu sınıflarda kullanabiliriz. Ayrıca arraylarda var olan oluştururken boyutunu verme zorunluğu veya boyutunu aşınca hata vermesi gibi canımızı sıkan şeyler burada yoktur.

İnceleyeceğimiz koleksiyonlar :

  • ArrayList
  • HashMap
  • TreeMap

  • Arraylist :

Index-base bir yapıdır. Aslında Array gibidir fakat klasik Array'dan farkı oluşturulurken boyutunu vermemize gerek yoktur.Add metodu ile yeni öğeler eklendikçe boyutunu otomatik artar. Bu yüzden bellekte boşuna yer kaplamaz bu bakımdan iyidir.

Örnek bir ArrayList tanımı yaparsak :
ArrayList<Ogrenci> ogrenciler= new ArrayList<ogrenci>();
ogrenciler.add(new Ogrenci());
ogrenciler.add(new YuksekOgrenci());

Burada ek bilgi olarak diyelim ki yüksek yapan bir öğrenci olsun bu öğrencinin türetildiği sınıf YuksekOgrenci sınıfı olsun. Bu durumda türü Ogrenci olan bir ArrayList'e biz bu YuksekOgrenci'den türetilen nesneleri atabiliriz. Sonuçta ikiside öğrencidir

ArrayList Sınıfında Kullandığımız Bazı Metodlar:
Ogrenci safak = new Ogrenci();
ogrenciler.add(0, safak); = bu sayede safak ogrencisi 0. indexe atanır

boolean contains(Object element) // Bu metoda gönderilen elementin ArrayList'te mevcut olup olmadığına bakarak bool değer döndürür.
boolean remove(Object element) // Kendisine gönderilen nesneyi ArrayList'te bulup siler.
Array'daki verilerin ArrayList'e aktarılması
List<ogrenci> x = new List<ogrenci>();
ArrayList<insan> y = new ArrayList<insan>();
y.addAll(x); // bütün x listesini y’ye atar.

ArrayList'teki verilerin Array'a aktarılması

ArrayList ogrenciler= new ArrayList();
students.add(new Student("Safak"));
students.add(new Student("Berkay"));
students.add(new Student("Ali"));

Ogrenci[] ogrenciListesininKopyasi = new Ogrenci[ogrenciler.size()]; // ogrenciler arraylisti büyüklüğünde ogrenciListesininKopyasi arrayı tanımladık.

ogrenciler.toArray(ogrenciListesininKopyasi ); // toArray metodu ile students arraylisti copyOfStudents ine kopyalanıyor.


ArrayListeki tüm verileri alan for yapısı :


for (Student s : students) {
……;
}

Devam Edecek..

Java Programımızı Derleme ve Çalıştırma

Derleme
Öncelikle yazdığımız programı derleyebilmemiz için bilgisayarımızda Java SE Development Kit’i (JDK)
http://java.sun.com/javase/downloads/index.jsp
adresinden yüklememiz gerekmektedir. Bunu yüklediyseniz kodunuzda hazırsa şimdi Command Prompt ekranını açabiliriz. Bunu yapabilmek için Run’a cmd yazıp Enter’a basın.

java, java ders, java konular, java öğren, java geliştir,java tutorial

Açılan ekranda kodumuzun olduğu dizine gitmek için ‘cd’ komutunu kullanabiliriz. Ardından

javac sourcecode_filename

örneğin;

javac SimpleProgram.java

Ayni anda birden fazla programı derlemek istiyorsak

javac Foo.java Bar.java Another.java

gibi aralarına boşluk bırakarak yan yana yazılarak ayni anda compile edilebilir.

javac *.java

ile o dizindeki tüm kodlar compile edilir.

Önemli! “javac' is not recognized as an internal or external command” bu hatayla karşılaşabilirsiz. Bunu şöyle çözebilirsiniz:

C:\foo\bar\> C:\j2sdk1.4.2_01\bin\javac Filename.java


Çalıştırma

java SimpleProgram

ile derlediğiz kodu caliştirabiliriz.

Eğer farklı dizinlerdeki programları caliştirmak gerekiyorsa

java –cp dizin1;dizin2 SimpleProgram

kullanılır.
Önemli! Main Class’ın ismiyle dosyanın ismi ayni olmalıdır. Mesela Main Class’ımız SimpleProgram ise notpad’te ‘Farklı Kaydet’ yaparken SimpleProgram.java diye kaydetmeliyiz.

Bunu Unutma! \' Print içinde tek tırnağı ekrana yazdırabilmek için kullanılır
\" Print içinde çift tırnağı ekrana yazdırabilmek için kullanılır

Java Platform Bağımsızdır

Bu gerçekten Java’nın çok önemli bir özelliği çünkü C,C# gibi diller derlendiğinde her makinada çalışabilmesi için 0 ve 1 lerden oluşan makine diline çevrilirler ve bu işlem işletim sistemi üzerinde olur. Burada bir sorun yok her makinada çalışmayı sağlıyor çok güzel gibi görünsede ayni kod Windows’ta derlenmişse farklı, Solaris’te derslenmişse farklı yada Linux’te derlenmişse oluyor. Buda yazdığımız kodun başka bir platformda çalışmaması anlamina geliyor. Yani Windows’ta yazmışsan sadece Windows’ta kullanabiliyorsun.

java, java öğren, java geliştir, java yaz, java ders, java tutorial


Java’nın Platform Bağımsız olması şu anlama geliyor. Bir kere yaz her yerde çalışsın mantığı var. Çünkü C,C# gibi diller makinenin işletim sisteminde derlendiği için platform bağımlıdır. Fakat Java JVM(Java Virtual Machine) üzerinden çalışır. Bu yüzden ayni program nerde derlenirse derlensin ayni bytecode’u üretir bu yüzden bir kere yazıldıktan sonra istenilen ortamlarda çalıştırmak mümkündür. Burdaki tek sorun hız sorunudur. Çünkü işletim sistemiyle birlikte Virtual Machine’de bilgisayarın bilgisayarın kaynaklarını kullandığı için daha yavaş calişmaktadır.

java, java öğren, java geliştir, java yaz, java ders, java tutorial

Not : Resimler Jacquie Barker’ın ‘Beginning Java Objects’ adlı kitabından alınmıştır.


Hello Java!

java,java öğren,java tutorial,online java,java kod,java codeBu bloğu açmamda ki amacım bildiklerimi, öğrendiklerimi java teknolojilerini merak edenlerle paylaşmak umarım bunu gerçekleştirebilirim. Bu bloğu açma nedenimi kişisel sayfamda yazdığım şu yazıdan daha detaylı öğrenebilirsiniz : http://safakunel.blogspot.com/2009/07/javagelistir-netgelistir.html

Her ne kadar Java desem de öncelikle ‘Object Oriented’ üzerine yazılar yazacağım. Bunun nedenini ileriki yazılarımda açıklayacağım için şimdi bir açıklamaya gerek yok sanırım.

‘Java’ ve ‘Object Oriented’ üzerine aldığım ders ve kurslar :

- YTÜ Matematik Mühendisliği Nesneye Yönelik Programlama Nilgün Güler, Yrd. Doç. Dr.

- YTÜ Matematik ‘Java ile Programlamaya Giriş’

- EDUTIME ‘Java Eğitimi’ (50 saat)

Bende çok iyi bildiğimi iddaa etmiyorum ve bu blogla uzmanlaşmayı hedefliyorum. Takip edecek herkese şimdiden çok teşekkürler ve kolay gelsin!

Hoşçakalın!