2014-07-22 38 views
5

sto un po 'bloccato su questo problema nel progetto corrente sto lavorando su:Algoritmo per confrontare un array di stringhe a molti array di stringhe

voglio prendere una ArrayList<String> (lo chiamano A) e confrontalo con moltiArrayList<String>, prendendo nota di quante stringhe corrispondono a questi confronti di array. Quindi, voglio ordinare gli array di stringhe multiple in ordine dalla più simile alla meno simile a A.

Qualcuno conosce algoritmi veloci per farlo? Non sto cercando il codice tanto quanto gli algoritmi, ma sto lavorando in Java.

Grazie!

+3

Che cosa si intende per ragioni di voto ravvicinato? In che modo "ci chiede di raccomandare o trovare uno strumento, una biblioteca o una risorsa fuori sito preferita"? – arshajii

+0

Utilizzerai i valori hash, probabilmente in molti modi diversi. (E in realtà, questa domanda è un problema - si chiede forse una volta ogni 2 settimane.) –

+0

oops, scusa per il duplicato! non ho trovato la domanda in giro, ma probabilmente non stavo cercando nel posto giusto. Grazie per l'aiuto! – CatLord

risposta

4

Il mio suggerimento:

  1. In primo luogo mettere tutte le corde della ArrayList di riferimento in un set.
  2. Attraversare tutti i membri di ciascuna delle liste di array e utilizzare set.contains(string) per scoprire quante corrispondenze contiene ciascun elenco di array.
  3. Per ogni ArrayList, creare un oggetto che racchiude un ArrayList oltre al numero di corrispondenze per tale ArrayList.
  4. Infine, ordina questi oggetti wrapper in base al numero di corrispondenze.
+1

E crea oggetti che racchiudono 'ArrayList' + corrisponde al conteggio implementare' Comparable' per poterli ordinare. –

+0

Ha senso, grazie! – CatLord

Problemi correlati