selam arkadaşlar

java'da bir matrix gibi bir mantıkta istedim sira/dize'den veri çekmek istiyorum

öncelik sorayim hashmapte böyle bir özellik var mi

örneğin 4 sıra 2. sütündaki veriyi cekebilir miyim ?

ya da javada böyle yapacağım başka bir nesne hangisidir

soruldu: 09 Tem '15, 09:17

kypdk's gravatar image

kypdk
18591623
cevap kabul oranı: 10%

değiştirildi: 09 Tem '15, 09:19

2

Sıralı Map işleri için, LinkedHashMap kullanabilirsin. Eklediğin sırada veri tutar.

(09 Tem '15, 12:36) Turgay Can Turgay%20Can's gravatar image
1

Çift boyutlu dizi de kullanabilirsin.

(09 Tem '15, 15:59) Mustafa Mustafa's gravatar image
1

Bencede çift boyutlu dizi kullan. https://yadi.sk/d/rVHqkTY6hmxwk

(09 Tem '15, 18:05) tamercan tamercan's gravatar image

Selam,

HashMap<key,value> şeklinde sıralama garantisi vermeden data tutar. Yani ilk eklenen data ilk gelecek diye bir garanti yok. Örnek kodu aşağıda paylaşıyorum. Ben 2 satır 2 sütun için düzenledim. İlk parametre satır ikinci sütun. int değişkeninin büyüklüğüne ve ram yeterliliğine göre sınırlanır diye hatırlıyorum. Fakat Geri kalan kısım algoritmaya göre düzenlenebilir.

Hashmap te ayrıca kapasite arttırımı diye bir durumda var. Başlangıçta default 11 değer alabilir. Bunu nesne yaratılırken de kendin setleyebilirsin( Map<sira,string> matrix = new HashMap<sira, string="">(5); ). Fakat kapasite %75 i aşarsa JVM buna önlem olarak kapasite arttırımına gider ki bu durumda key value tekrar hashlenir. Performansda düşüş görülür.

İyi çalışmalar

/* * Created by BeytullahC on 7/12/2015. / public class Sira { private int satir; private int sutun;

public Sira() {

}

public Sira(int satir, int sutun) {
    this.satir = satir;
    this.sutun = sutun;
}

public int getSatir() {
    return satir;
}

public void setSatir(int satir) {
    this.satir = satir;
}

public int getSutun() {
    return sutun;
}

public void setSutun(int sutun) {
    this.sutun = sutun;
}

}

public class tester {

public static void main(String[] args) throws Exception {

    Map<Sira,String> matrix = new HashMap<Sira, String>();
    matrix.put(new Sira(0,0),"0-0");
    matrix.put(new Sira(0,1),"0-1");
    matrix.put(new Sira(1,0),"1-0");
    matrix.put(new Sira(1,1),"1-1");
    for (Sira s:matrix.keySet()) {
        System.out.println(matrix.get(s));
    }

}

}

permanent link

cevaplandı: 11 Tem '15, 20:51

BeytullahC's gravatar image

BeytullahC
35015
cevap kabul oranı: 16%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079
×2

Soruldu: 09 Tem '15, 09:17

Görüntüleme: 415 kez

Son güncelleme: 11 Tem '15, 20:51

powered by BitNami OSQA