Domanda

Vorrei sapere un paio di pratici casi d'uso (se non sono legati / legato a qualsiasi linguaggio di programmazione sarà meglio) .I può associare Set, elenchi e mappe di casi pratici di utilizzo.

Per esempio, se si voleva un glossario di un libro in cui i termini desiderati sono elencati in ordine alfabetico e un numero di posizione / pagina è il valore, si può usare la TreeMap collezione (OrderedMap che è una mappa)

In qualche modo, non posso associare multinsiemi con qualsiasi caso d'uso "pratico". Qualcuno sa di eventuali usi?

http://en.wikipedia.org/wiki/Multiset non mi dice abbastanza :)

PS: Se voi ragazzi che questo dovrebbe essere comunità wiki'ed va bene. L'unica ragione per cui non ho fatto che era "C'è un modo chiaro obiettivo di rispondere a questa domanda".

È stato utile?

Soluzione

Un sacco di applicazioni. Per esempio, immaginate un carrello della spesa. Che può contenere più di un'istanza di un oggetto - vale a dire 2 cpu, 3 schede grafiche, ecc Quindi si tratta di un multi-set. Una semplice implementazione è quello di tenere anche traccia del numero di elementi di ciascuno -. Vale a dire mantenere intorno informazioni 2 cpu, 3 schede grafiche, etc

Sono sicuro che si può pensare di un sacco di altre applicazioni.

Altri suggerimenti

Un multiset è utile in molte situazioni in cui si sarebbe altrimenti avere una mappa. Ecco tre esempi.

Supponiamo di avere una Foo classe con una funzione di accesso getType (), e si desidera sapere, per una raccolta di istanze di Foo, quanti hanno ogni tipo.

Allo stesso modo, un sistema potrebbe eseguire varie azioni, e si potrebbe utilizzare un Multiset per tenere traccia di quante volte si è verificato ogni azione.

Infine, per stabilire se due collezioni contengono gli stessi elementi, al fine ignorando ma prestando attenzione a quanto spesso si ripetono casi, è sufficiente chiamare

HashMultiset.create(collection1).equals(HashMultiset.create(collection2))

In alcuni campi di matematica, un insieme è trattato come un multi-insieme a tutti gli effetti. Ad esempio, in Linear Algebra, un insieme di vettori è teated come multinsieme durante il test per dipendenza lineare. Così, implementazioni di questi campi dovrebbero beneficiare l'uso di multinsiemi.

Si può dire algebra lineare non è pratico, ma che è un intero dibattito diverso ...

Un carrello è un multi-insieme. È possibile inserire diverse istanze dello stesso oggetto in un carrello quando si desidera acquistare più di uno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top