Si j'importe collection.mutable.Stack
, devrais-je utiliser ou mutable.Stack[]()
et y a-t-il des différences entre les deux?Différences entre Stack [] et mutable.Stack []()
Répondre
Vous ne pouvez pas faire les deux en même temps. Il y a 2 façons possibles.
1. Importation scala.collection.mutable.stack
import scala.collection.mutable.Stack
val stack: Stack[Int] = new Stack[Int]
2. Importation scala.collection.mutable
import scala.collection.mutable
val stack: mutable.Stack[Int] = new mutable.Stack[Int]
Dans le premier exemple que vous importez scala.collecion.mutable.Stack
. Par conséquent, vous pouvez utiliser directement l'objet Stack
et ses fonctions. Dans la seconde, vous importez scala.collection.mutable
. De cette façon, vous êtes autorisé à utiliser les fonctions du paquet mutable
. Vous devez utiliser des objets dans ce paquet en appelant le mutable.xxx
.
Si vous suivez en général le principe fonctionnel pour utiliser autant que possible les structures de données immuables, je voudrais import scala.collection.mutable
et utiliser mutable.Stack
pour indiquer que vous utilisez la version mutable dans ce cas particulier. Cette convention est également décrite dans le scala documentation for collections
Avez-vous essayé? Les références à 'mutable.Stack' ne fonctionneront que si vous importez collection.mutable'. (BTW, 'Stack' est obsolète.) – jwvh
Haha, cela explique pourquoi IntelliJ a continué d'annuler Stack même après l'avoir importé. –