Una pregunta de la entrevista java. ¿Hay alguna forma en la programación java que no sean las construcciones de bucle para iterar a través de una colección determinada (una matriz) y trabajar en cada elemento de la colección.¿Cómo pasar por la colección sin utilizar ninguna construcción de bucle?
Respuesta
La recursividad es una manera de hacerlo
void it(Iterator i) {
if (i.hasNext()) {
System.out.println(i.next());
it(i);
}
}
+1 para código de muestra. –
+1: Señalaría que, aunque puede hacer esto, cualquiera que haga esto en un sistema real merece ser despedido. : P –
@Peter Lawrey estuvo de acuerdo – RMT
Puede intercambiar una solución iterativa por una recursiva. Los bucles son iterativos, así que solo crea una solución recursiva.
Sí, usted podría ir de forma recursiva a través de una función para obtener la misma funcionalidad:
public void iterate(int[] array, int index){
if (index >= array.length){
return;
}else{
//work with element at array[index]
iterate(array, index+1);
}
}
Aparte de recursividad Commons-colección tiene métodos de utilidad que puede usar para hacer cosas en una colección. Tenga en cuenta que esta API también utiliza construcciones de bucle internamente. Sin embargo, el código de cliente se vería así:
CollectionUtils.forAllDo(
yourCollection,
new Closure() {
void execute(java.lang.Object element) {
// do smt with element
}
}
);
Comprobar los CollectionUtils aquí: http://commons.apache.org/collections/apidocs/org/apache/commons/collections/Closure.html
+1 Me gusta esto ... el incómodo zurdo no-que-nadie-estaba-esperando-acercamiento. Solo voy a confiar en que funciona. – Matt
- 1. Cálculo e^x sin utilizar ninguna función
- 2. Cómo pasar la conexión JDBC sin utilizar Spring/JPA/Hibernate
- 3. ¿Por qué utilizar SQL Server bucle anidado
- 4. Cómo utilizar la redirección de encuadernación por ensamblaje para ignorar los números de revisión y construcción
- 5. Cómo utilizar la etiqueta JSTL "if" sin obtener "..attribute test no acepta ninguna expresión"
- 6. cómo pasar por nsfetchedresultcontroller
- 7. Cómo pasar adecuadamente la colección para la entrada en Formtastic
- 8. jQuery fadeOut sin pantalla ninguna?
- 9. pasar una colección de interfaz
- 10. org.hibernate.HibernateException: la colección no está asociada a ninguna sesión
- 11. Cómo utilizar UdpClient.BeginReceive en un bucle
- 12. Determinando si la ventana se ha cargado sin utilizar ninguna variable global
- 13. encontrar el artículo en ObservableCollection sin necesidad de utilizar un bucle
- 14. Extracto de vectores de la lista strsplit sin utilizar un bucle de
- 15. Eclipse depurador se detiene por sí mismo sin ninguna throwable
- 16. Cómo realizar la animación kCATransitionPush sin ninguna transparencia/desvanecerse efectos
- 17. Es posible enviar un correo electrónico mediante programación sin utilizar ninguna cuenta de correo electrónico real
- 18. Cómo pasar una o ninguna variable arg en scala?
- 19. ¿Pasar los parámetros de la cadena de consulta sin utilizar las convenciones de OData?
- 20. Seleccionar elementos sin ninguna clase
- 21. ¿Cómo puedo modificar una colección de cola en un bucle?
- 22. MVVM SimpleIoc, cómo utilizar una interfaz cuando la implementación de la interfaz requiere parámetros de construcción
- 23. Cómo tener un bucle en un servicio de Windows sin utilizar el temporizador
- 24. Opciones de la colección Backbone.js
- 25. ¿Cómo pasar una colección tipeada de clojure a java?
- 26. ¿Por qué utilizar la serialización
- 27. Autenticación para el sitio web asp.net sin utilizar ninguna base de datos
- 28. Cómo usar Logback directamente sin pasar por SLF4J
- 29. Cómo cambiar el valor de la columna DataTable sin bucle?
- 30. Pasar por encima del método sin símbolos - ¿Cómo entrar?
significa "Goto" califican como un "bucle" constructo? :) – Nick
@Nick no hay goto en Java. – pingw33n
Obviamente ... un programador sensato no hace estas cosas en un programa real :-) –