2014-12-18 16 views

cevap

5

MutableList ve yineleyicisinin remove yöntemini kullanın. O (1) çıkarılmasını sağlarlar. Eğer topluluk içinde yineleme ve anında değiştirmek istediğini senin sorunun anlaşılması itibaren

http://docs.scala-lang.org/overviews/collections/concrete-mutable-collection-classes.html#linked_lists

+0

Teşekkür ederim, iyi çalışıyor. –

+0

Takip etmiyorum. MutableList ile O (1) kaldırmayı nasıl elde edersiniz? – ferk86

+0

@ kfer38Bu son öğeye işaretçisi olduğundan, tüm öğeleri geçmeden son elemanı kaldırabilir. – gonbe

2

. Bu, (şimdi kullanımdan kaldırılmış) scala.collection.mutable.LinkedList veya scala.collection.mutable.DoubleLinkedList dışındaki toplama yapılarıyla mümkün değildir. Bu tür bir işlem, Scala koleksiyonları felsefesini gerçekten takip etmemektedir, dolayısıyla LinkedList ve DoubleLinkedList artık kullanımdan kaldırılmıştır.

Ancak, hiçbir şey klasik Java'nın java.util.LinkedList ve Scala kodunuzdaki ilgili yineleyiciyi kullanmanıza engel değildir.

tasarımınızı inceleyebilir ve benzeri yapılar kullanılarak Scala'nın yolunu takip etmek istemiyorsan: map, filter, sadece ilgili öğeler ile yeni bir liste oluşturabilirsiniz filter işlevini kullanarak Örneğin for, fold, reduce vb.

İlgili konular