SORU
6 ŞUBAT 2009, Cuma


Değer çiftleri Java bir koleksiyon? (dizilerini?)

Java örneğin harita her giriş türleri, <String, Integer> tanımlayabilirsiniz nerede bir Harita var nasıl seviyorum.

Ne arıyorum koleksiyonundaki her öğe değerleri olan bir çift olduğu koleksiyon türüdür. Çifti her değer bildirimi zamanda tanımlanmış olan kendi türü (Dize ve Tamsayı örnek yukarıdaki gibi), olabilir.

Koleksiyonu belirli düzeni korumak ve değerlerini benzersiz bir anahtar (bir harita olarak) bir tedavi etmeyecektir.

Esasen, bir DİZİ türü <String,Integer> veya herhangi bir diğer 2 tip tanımlamak mümkün olmak istiyorum.

Hiçbir şey ama 2 değişkenleri olan bir sınıf yapabilirim biliyorum ama çok ayrıntılı görünüyor.

Ben de fark olabilir 2D dizi, ama çünkü farklı ihtiyacım var kullanmak istiyorum yapmak için onları bir dizi NESNE, ve o zaman da benim elime atama her zaman.

Ben sadece koleksiyonunda çiftleri depolamak lazım, ben sadece giriş için iki değer gerekir. Böyle bir şey sınıf rota gitmeden var mı? Teşekkürler!

CEVAP
6 ŞUBAT 2009, Cuma


Çift sınıfının o "" jenerik kendi yazmak için yeterince basit örnekler. ver biridir Kafamın üst kapalı örneğin,:

public class Pair<L,R> {

  private final L left;
  private final R right;

  public Pair(L left, R right) {
    this.left = left;
    this.right = right;
  }

  public L getLeft() { return left; }
  public R getRight() { return right; }

  @Override
  public int hashCode() { return left.hashCode() ^ right.hashCode(); }

  @Override
  public boolean equals(Object o) {
    if (!(o instanceof Pair)) return false;
    Pair pairo = (Pair) o;
    return this.left.equals(pairo.getLeft()) &&
           this.right.equals(pairo.getRight());
  }

}

Ve evet, bu bütünlüğü ve özelliği değişen derecelerde internette pek çok yerde var. (Benim örnek yukarıda sabit olarak düşünülmüştür.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • grickle

    grickle

    22 AĞUSTOS 2006
  • majesticdubstep

    majesticdubs

    3 Kasım 2011
  • metagamers

    metagamers

    13 Mayıs 2006