Tengo un ArrayList de HashMap. Quiero buscar un HashMap pero no puedo encontrar la manera de lograrlo. Por favor sugiérame cómo se puede hacer? Gracias.Buscar un HashMap en un ArrayList de HashMap
Respuesta
respuesta a tu pregunta de la manera que lo entendí!
for (HashMap<String, String> hashMap : yourArrayList)
{
// For each hashmap, iterate over it
for (Map.Entry<String, String> entry : hashMap.entrySet())
{
// Do something with your entrySet, for example get the key.
String sListName = entry.getKey();
}
}
Su Hashmap podría usar otros tipos, este utiliza Cuerdas.
No tiene sentido repetir la lista completa de encontrar la clave en medio de la lista. –
ver si esto ayuda:
@Test
public void searchMap() {
List<Map<String, String>> listOfMaps = new ArrayList<Map<String,String>>();
Map<String, String> map1 = new HashMap<String, String>();
map1.put("key1", "value1");
Map<String, String> map2 = new HashMap<String, String>();
map1.put("key2", "value2");
Map<String, String> map3 = new HashMap<String, String>();
map1.put("key3", "value3");
listOfMaps.add(map1);
listOfMaps.add(map2);
listOfMaps.add(map3);
String keyToSearch = "key2";
for (Map<String, String> map : listOfMaps) {
for (String key : map.keySet()) {
if (keyToSearch.equals(key)) {
System.out.println("Found : " + key + "/value : " + map.get(key));
}
}
}
}
Salud!
Object myObj;
Object myKey;
//Traverse the list
for(HashMap curMap : listOfMaps){
//If this map has the object, that is the key doesn't return a null object
if((myObj = curMap.get(myKey)) != null) {
//Stop traversing because we are done
break;
}
}
//Act on the object
if(myObj != null) {
//TODO: Do your logic here
}
Si usted está buscando para obtener la referencia al mapa del lugar del objeto (por cualquier razón) se aplica un mismo proceso, excepto que acaba de almacenar la referencia al mapa:
Map myMap;
Object myKey;
//Traverse the list
for(HashMap curMap : listOfMaps){
//If this map has the object, that is the key doesn't return a null object
if(curMap.get(myKey) != null) {
//Store instance to the map
myMap = curMap;
//Stop traversing because we are done
break;
}
}
//Act on the map
if(myMap != null) {
//TODO: Do your logic here
}
La manera eficiente que he usado para buscar un hashmap en un arraylist sin usar loops. Dado que el ciclo hace que el tiempo de ejecución sea más largo
try{
int index = list.indexOf(map); // map is your map to find in ArrayList
if(index>=0){
HashMap<String, String> map = array_list.get(index);
// Here you can get your values
}
}
catch(Exception e){
e.printStackTrace();
Log.i("HashMap","Not Found");
}
Pruebe a continuación el código mejorado para buscar la clave en una lista de HashMap.
public static boolean searchInMap(String keyToSearch)
{
boolean returnVal = false;
List<Map<String, String>> listOfMaps = new ArrayList<Map<String, String>>();
Map<String, String> map1 = new HashMap<String, String>();
map1.put("key1", "value1");
Map<String, String> map2 = new HashMap<String, String>();
map1.put("key2", "value2");
Map<String, String> map3 = new HashMap<String, String>();
map1.put("key3", "value3");
listOfMaps.add(map1);
listOfMaps.add(map2);
listOfMaps.add(map3);
for (Map<String, String> map : listOfMaps)
{
if(map.containsKey(keyToSearch))
{
returnVal =true;
break;
}
}
return returnVal;
}
Pase las teclas como un argumento que debe buscarse. –
si tiene un ArrayList como éste: ArrayList < HashMap < String, String > > y desea comparar uno de los valores dentro de la HashMap probar este código.
Lo uso para comparar la configuración de mis notificaciones de alarma.
for (HashMap<String, String> map : AlarmList) {
for (String key : map.keySet())
{
if (key.equals("SendungsID"))
{
if(map.get(key).equals(alarmMap.get("AlarmID")))
{
//found this value in ArrayList
}
}
}
}
- 1. Conversión de HashMap en ArrayList
- 2. ArrayList Conversión a Hashmap
- 3. ArrayList como clave en Hashmap
- 4. Uso de ArrayList o HashMap
- 5. La mejor manera de crear un hashmap de arraylist
- 6. Buscar un valor para una clave determinada en un HashMap
- 7. Java ArrayList y HashMap sobre la marcha
- 8. Implementación de un HashMap
- 9. LinkedHashMap vs HashMap! = LinkedList vs ArrayList
- 10. Asignación de Hashmap a Hashmap
- 11. ConcurrentModificationException y un HashMap
- 12. Sincronización en un caché HashMap
- 13. HashMap (clave: String, valor: ArrayList) devuelve un objeto en lugar de ArrayList?
- 14. Java: ¿Buscar en claves HashMap basadas en expresiones regulares?
- 15. ¿Cómo puedo extraer ArrayList de HashMap y recorrerlo en Java?
- 16. Java StackOverflowError después de poner ArrayList en HashMap
- 17. ¿Cómo serializar/deserializar un hashmap?
- 18. ¿Por qué usar un hashmap?
- 19. Uso Hashtable, Vector o HashMap o ArrayList en Java
- 20. Creciendo un Hashmap de vectores en Matlab
- 21. ¿Cómo leer y escribir un HashMap en un archivo?
- 22. Crear un hashmap con una doble clave
- 23. Cuándo usar HashMap sobre LinkedList o ArrayList y viceversa
- 24. delphi hashmap?
- 25. HashMap perfiles
- 26. Android HashMap en Bundle?
- 27. Doble en HashMap
- 28. HashMap Serializability
- 29. Mapa/ArrayList: cuál es más rápido para buscar un elemento
- 30. HashMap basado en disco
¿Reviso todos los 'HashMap's en' ArrayList' y reviso uno después del otro para ver la clave? –
¿Desea buscar un solo mapa en una lista de mapas? ¿Cómo reconocerías ese mapa único que tienes que buscar? – eran
¿Guardarlo en una base de datos y buscarlo con SQL? Indíquelo con Lucene y busque el texto completo? ¿Transformar en un árbol rojo-negro indexado en reversa? Basado en lo que dijiste, quién sabe ... –