SORU
2 HAZİRAN 2012, CUMARTESİ


scala: Seq ve bir Liste arasındaki fark

Diğer zamanlarda Listesinde olmasına rağmen bazen bir Seq kullanılan pek çok örnek gördüm...

Herhangi bir fark, eski bir Scala bir isim ve Liste Java gelen başka var mı?

CEVAP
2 HAZİRAN 2012, CUMARTESİ


Java açısından, Seq Scala Java olurdu List ve Scala *2.* Java olur LinkedList.

Seq Java eşdeğerdir trait, interface ama geleceği parlak defans yöntemleri ile eşdeğer olduğunu unutmayın. List Scala Nil List beton uygulamaları olan :: tarafından genişletilmiş soyut bir sınıftır.

Nerede Java List ** 12, Scala List bir uygulamasıdır.

Bunun ötesinde, Scala LinkedList değil olduğu gibi List değişmezdir. Aslında, Java yok eşdeğer değişmez koleksiyonları (okuma tek şey sadece garanti yeni nesne değiştirilemez, ama hala değişebilir mi eski, ve, bu nedenle, "salt okunur").

List Scala derleyicisi ve kütüphaneleri ile son derece optimize edilmiş ve fonksiyonel programlama temel veri türü. Ancak, sınırlamalar ve paralel programlama için yetersiz. Bu gün, Vector List ama alışkanlıklardan vazgeçmek zordur daha iyi bir seçimdir.

Seq diziler için iyi bir yöntemdir, eğer arayüzleri için program varsa, bunu kullanmalısınız. Aslında üç tane var unutmayın: collection.Seq, collection.mutable.Seq collection.immutable.Seq, ve bu ikinci bir "varsayılan" ithal kapsam içine.

Ayrıca GenSeq ParSeq var. İkinci yöntem eski Seq ParSeq ebeveyn olduğu paralel mümkünse, iki, bir kod paralellik farketmez ne zaman uygun bir genelleme olmaktan çalıştırın. Nispeten yeni tanıtılan her ikisi de, insanlar bunları pek kullanmaz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fuse

    Fuse

    21 Kasım 2005
  • magnum33563

    magnum33563

    8 NİSAN 2011
  • SoundHound

    SoundHound

    8 Mart 2006