¿Qué clase funcionaría mejor para una lista de pares no ordenados? Tomaré un grupo de pares (flotante, corto) y tendré que poder realizar cálculos simples (como multiplicar el par para devolver un flotador individual, etc.). List solo toma un argumento, y HashMap no permitirá duplicados (hasta donde yo sé). ¿Alguna idea?Crear una lista de pares en java
Respuesta
Usted puede utilizar la clase Entry<U,V>
que HashMap
usos pero se le pegado con su semántica de getKey
y getValue
:
List<Entry<Float,Short>> pairList = //...
Mi preferencia sería la creación de su propia clase simple Pair
:
public class Pair<L,R> {
private L l;
private R r;
public Pair(L l, R r){
this.l = l;
this.r = r;
}
public L getL(){ return l; }
public R getR(){ return r; }
public void setL(L l){ this.l = l; }
public void setR(R r){ this.r = r; }
}
Luego, por supuesto haga un List
usando esta nueva clase, por ejemplo:
List<Pair<Float,Short>> pairList = new ArrayList<Pair<Float,Short>>();
También siempre se puede hacer una List
s de List
s, pero se hace difícil hacer cumplir dimensionamiento (que sólo dispone de pares) y se verá obligado, al igual que con las matrices, para tener la tipificación consistente.
Use una lista de instancias de clases personalizadas. La clase personalizada es una especie de Par o Coordinación o lo que sea. A continuación, sólo
List<Coordinate> = new YourFavoriteListImplHere<Coordinate>()
Este enfoque tiene la ventaja de que hace que satisface este requisito "realizar operaciones matemáticas sencillas (como multiplicar el par juntos para devolver un solo flotador, etc.)" limpia, porque la clase personalizada puede tener métodos para lo matemáticas que necesita hacer ...
Parece que necesita crear su propia clase de pares (consulte discussion here). A continuación, cree una lista de la clase de pares que creó
Similar a lo que Mark E ha propuesto, debe crear la suya propia. Solo para ayudarlo un poco, hay un prolijo artículo http://gleichmann.wordpress.com/2008/01/15/building-your-own-literals-in-java-tuples-and-maps/ que le brinda una manera muy ordenada de crear tuplas y mapas que podrían ser algo que quizás desee considerar.
Si desea multiplicidades, puede ponerlo en el mapa que asigna el par al día. De esta manera solo habrá un par de valores dados, pero puede representar múltiples ocurrencias.
Entonces, si tiene muchos valores repetidos y desea realizar alguna operación en todos los valores, puede ahorrar muchos cálculos.
sólo ajustar algunos pequeños errores en el código de Mark Elliot:
public class Pair<L,R> {
private L l;
private R r;
public Pair(L l, R r){
this.l = l;
this.r = r;
}
public L getL(){ return l; }
public R getR(){ return r; }
public void setL(L l){ this.l = l; }
public void setR(R r){ this.r = r; }
}
- 1. pares números una lista?
- 2. Java: crear una lista de HashMaps
- 3. Componer una lista de todos los pares
- 4. ¿Una forma elegante de crear un diccionario de pares, a partir de una lista de tuplas?
- 5. Crear una "vista" de una lista de Java
- 6. Serializando una lista de pares clave/valor en XML
- 7. Desembalaje una lista/tupla de pares en dos listas/tuplas
- 8. ¿Cómo se convierte una lista de Scala en pares?
- 9. Generar una lista de los números pares en Python
- 10. ¿Cómo puedo crear una lista ordenada de pares enteros y de cadena?
- 11. ¿Es mejor usar una lista de pares o dos listas?
- 12. elementos postales con índices impares y pares en una lista
- 13. ¿Lista ordenada de pares de valores clave?
- 14. Lista de pares de palabras idiomáticas
- 15. Unir pares de elementos de una lista - Python
- 16. ¿Qué es una clase de pares en Java?
- 17. ¿Cómo almacenar una matriz de pares en Java?
- 18. "Instanciando" una lista en Java?
- 19. Almacenar pares de números en java
- 20. recorrido por pares de una lista o tupla
- 21. Cons'ing una lista en Java
- 22. Cómo crear un scala.collection.immutable.Seq a partir de una lista de Java en Java?
- 23. Crear una lista de EL
- 24. Crear una lista de respaldo en python
- 25. Crear una lista de objetos en Python
- 26. Crear una lista de listas en C#
- 27. Crear una lista de símbolos en látex
- 28. Crear una lista de objetos en Python
- 29. Crear una lista de páginas en Orchard
- 30. ¿Cómo creo una lista única de pares de objetos de dos listas en C#?
Pero sin duda lo acaba de hacer la clase de marcador de posición y luego añadir instancias de la misma a un películas-- llamar al pan, pan ... Let –
de di que iba a hacer esto sin una nueva clase. Estoy pensando en ejecutar dos listas del tipo apropiado. ¿Por qué se queja cuando lo hago: private List floatList = new List (); pero no cuando dejo el operador de asignación y solo tengo lista privada floatList; ? Todavía necesita ser instanciado ¿no? –
V1rtua1An0ma1y
@ V1rtua1An0ma1y: porque 'List' es una interfaz, necesita una implementación, como, por ejemplo,' ArrayList' o 'LinkedList'. –