Quote Originariamente inviata da Siadd Visualizza il messaggio
codice:
        if((lavoratori.get(j).getSkills()).containsAll(offerte.get(i).getSkillIndispensabili())){
Se getSkills() dà un (Array)List<String> e getSkillIndispensabili() dà un (Array)List<String>, il senso e approccio è quello corretto.

Chiaramente le stringhe dovranno essere nella stessa forma. Se nella prima lista c'è un "Programmatore", nella seconda ci deve essere "Programmatore" ... non "programmatore", altrimenti non ti corrisponde un bel niente.

Quote Originariamente inviata da Siadd Visualizza il messaggio
codice:
                    count++;
                    offerteLavoratori.put(offerte.get(i).getTitoloAnnuncio(), count);
Questo invece è sbagliato. A te serve un "conteggio" per ciascun titolo (di annuncio) mentre ora stai usando un contatore unico.
Devi ragionare diversamente.