Domanda

Sono alla ricerca di una libreria (preferibilmente generici) che genera combinazioni iterabili e permutazioni dei dati contenuti in collezioni. prodotto cartesiano sarebbe anche bello.

Il miglior modo di descrivere ciò che voglio sarebbe "itertools per Java".

È stato utile?

Soluzione

itertools fa molto di più di solo combinazioni e permutazioni, così (mentre sarebbe sicuramente bello avere tutti itertools quando si scrive codice Java ;-) si riesce a cavarsela con molto meno.

Ad esempio, per le permutazioni, vedere qui ; per le combinazioni, qui (sia le classi sono dallo stesso autore).

Altri suggerimenti

In realtà sto facendo un porto di itertools a Java: si chiama neoitertools

Qualsiasi commento apprezzato come è ancora in fase beta. Manca la funzione di "prodotto" ancora, e alcuni test intensivi.

Qui è possibile trovare qualcosa che potrebbe coprire le esigenze combinatorie raggruppati in una libreria:

http://code.google.com/p/combinatoricslib/

Sto solo buttando questa là fuori, ma non dovrebbe essere possibile usare l'esecuzione itertools di Python direttamente da Java utilizzando Jython? Si tratta di un'API C-based?

[uno Google tardi]

itertools (Jython documentazione API)

In realtà, il href="http://code.google.com/p/neoitertools/" rel="nofollow"> neoitertools progetto elencato sopra sembra molto promettente, sembra essere in [ molto] sviluppo attivo (in base al codice di Google) e sembra essere un'Implementazione completa della funzionalità itertools, in più è disponibile tramite Maven.

Solo il mio 2 pence.

Pochi anni dopo, combinatoria sembra soddisfare le vostre esigenze. Tratto da readme:

Simple permutations
Permutations with repetitions
Simple combinations
Combinations with repetitions
Subsets
Integer Partitions
List Partitions
Integer Compositions
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top