Si se supone que debemos usar Vector como el tipo de secuencia predeterminado, ¿por qué no hay métodos para Vector (como toList, toArray) en los tipos de recopilación estándar?¿Por qué no hay métodos para Vector (como toList, toArray) en tipos de colección estándar?
En la etapa de creación de prototipos, ¿está bien conformar todas las colecciones al tipo Seq y usar toSeq en todas las devoluciones de colecciones (convertir todo a Seq)?
lo que es una buena práctica para establecer todas tipos de parámetros de funciones a Iterable en lugar de tipos específicos (a menos que los necesite para alguna funcionalidad/rendimiento específico)? – sdkfasldf
Si lo necesitas para cubrir todos los Iterables, hazlo, pero el compilador no se quejará cuando pases tu mapa por error. Creo que en OO en general, la teoría es que se supone que debes aceptar ese tipo más general posible y devolver el más específico. Con las colecciones, hacer que los tipos aceptados sean demasiado generales significará que el tipo devuelto también será muy general (consulte esta pregunta: http://stackoverflow.com/q/8235462/770361). Entonces, en la práctica, los métodos que toman 'List', etc.' Seq' son un buen compromiso para usar IMO. –
Creo que debería haber 'toVector' de todos modos. A veces, todo este asunto del código a la interfaz es importante, como en los límites de API, pero la mayoría de las veces solo intentas hacer el trabajo y la falta de 'toVector' es simplemente molesta. 'Vector' es una gran colección de propósito general; los usos de 'List' y' Array' son bastante especializados. –