Visualizzazione dei risultati da 1 a 2 su 2

Discussione: lista secondo 2 chiavi

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    1

    lista secondo 2 chiavi

    Ciao!

    allora io avrei dei dati che vanno messe in coda, secondo due chiavi: la primaria per ordine di categoria (possono essere 4 categorie), e la seconda chiave per ordine FIFO

    cioè da questa coda dovrei tirare fuori prima i dati di una certa categoria, e tra pari categoria, il dato che è entrato per primo

    Potrei usare qualche algoritmo per ordinare i dati già messi nella coda, ma se ancora dovessi crearla..?
    Forse conviene fare 4 code diverse per le 4 categorie?

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Potresti usare una mappa di code.

    Una cosa del genere (presupponendo che con coda intendi un'implementazione di java.util.Queue, casomai lo adatti):

    codice:
    Map<String, Queue<Object>> m = new HashMap<String, Queue<Object>>();
    
    Queue<Object> q1 = new ArrayDeque<Object>();
    Queue<Object> q2 = new ArrayDeque<Object>();
    Queue<Object> q3 = new ArrayDeque<Object>();
    Queue<Object> q4 = new ArrayDeque<Object>();
    
    m.put("CATEGORIA_1", q1);
    m.put("CATEGORIA_2", q2);
    m.put("CATEGORIA_3", q3);
    m.put("CATEGORIA_4", q4);
    
    // aggiungo un paio di elementi alla prima categoria
    m.get("CATEGORIA_1").offer("elemento 1.1");
    m.get("CATEGORIA_1").offer("elemento 1.2");
    
    // aggiungo un paio di elementi alla seconda categoria
    m.get("CATEGORIA_2").offer("elemento 2.1");
    m.get("CATEGORIA_2").offer("elemento 2.2");
    
    // rimuovo un elemento dalla prima categoria (il primo inserito)
    m.get("CATEGORIA_1").poll();
    
    Object o = m.get("CATEGORIA_1").peek();
    System.out.println(o); // stampa "elemento 1.2"
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.