Blog sınıfı
- Java kursu
- Orta seviye
- Ders 66/116
- 6 dk
Blog sınıfıyla koleksiyon yönetimini kurarsın.
Blog sınıfı koleksiyonu yönetir
Tek bir Post örneği elindeyken onu bir listede toplamak gerekir. Blog sınıfı bu işi üstlenir: posts adında bir List<Post> tutar ve addPost metodu ile yeni yazıları ekler.
List<Post> posts = new ArrayList<>(); satırı her yeni Blog örneğine boş bir liste verir. ArrayList dinamik dizi gibi davranır; add ile eleman eklenir.
addPost metodu
addPost metodu tek satırlık bir iş yapar: posts.add(post);. Çağırmak için blog.addPost(new Post(...)) yazarsın; Post örneği tek satırda hazır olur. Bu yöntem, koleksiyonu dışarıdan döngüyle yönetmeye göre çok daha okunaklıdır.
Eklemeden sonra blog.posts.size() kaç yazı olduğunu söyler. Bu sayı, ekleme işinin başarılı olduğunu doğrular. Listeyi yazdırırken for (Post p : blog.posts) döngüsü kullanırsın.
Uygulama Blog sınıfını ve addPost metodunu yaz
Üstteki Post ve Comment sınıfları hazır. Şimdi class Blog tanımla; List<Post> posts alanı, boş ArrayList ile başlat, void addPost(Post post) metodu posts.add(post); içersin. main içinde Blog blog = new Blog(); oluştur, iki yazı ekle ve System.out.println(blog.posts.size()); ile sayıyı yazdır.
Başlangıç kodu
import java.util.List;
import java.util.ArrayList;
class Post {
String title;
String author;
Post(String title, String author) {
this.title = title;
this.author = author;
}
}
class Comment {
String author;
String text;
Comment(String author, String text) {
this.author = author;
this.text = text;
}
}
// Blog sınıfını tanımla: posts listesi ve addPost metodu
// main: bir blog oluştur, iki yazı ekle, sayıyı yazdırÖrnek çözüm
class Post {
String title;
String author;
Post(String title, String author) {
this.title = title;
this.author = author;
}
}
class Comment {
String author;
String text;
Comment(String author, String text) {
this.author = author;
this.text = text;
}
}
class Blog {
List<Post> posts = new ArrayList<>();
void addPost(Post post) { posts.add(post); }
}
public class Main {
public static void main(String[] args) {
Blog blog = new Blog();
blog.addPost(new Post("İlk", "Ayşe"));
blog.addPost(new Post("İkinci", "Mehmet"));
System.out.println(blog.posts.size());
}
}Beklenen çıktı
2
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Liste bildirimini tamamla
List<Post> posts = new ____<>();
List<Post> posts = new ArrayList<>();
Açıklama: ArrayList dinamik dizi uygular.
2 blog.posts.size() ne döndürür?
- İlk yazının başlığını
- Listenin bellek adresini
- Yazıların yazarlarını
- Listedeki yazı sayısını Doğru cevap
Açıklama: size() listedeki eleman sayısını döndürür.
3 Blog sınıfı kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
List<Post> |
Yazı koleksiyonu türü |
ArrayList<> |
Somut liste uygulaması |
addPost |
Listeye yazı ekler |
size() |
Listedeki eleman sayısı |