Oi Pessoal,
escrevi um programa no qual leio dois documentos ( csv A e B ) e comparo os Srtings ( palavras )e conto quantas vezes os Strings são parecidos ou iguais.
O documento A contém duas colunas com quase 1 milhão de produtos:
Ex:
número,categoria
01, inverno|malha|sueter
O Documento B contém a mesma estrutura (número e categoria), com as categorias separadas.
Ex.:
Número, categoria
01, malha
02, baby
03, sueter vermelho
04, sueter amarelo
No meu programa ler uma linha do documento A, separa as palavras e compara cada palavra com todas as categorias do documento B e conta quantas vezes a palavra foi encontrada e lava o resultado em um Documento C (csv )
Ex.:.:
id, categoria, palavras encontrada, número
01, inverno |malha |sueter, malha sueter,1|2.
Estou tendo um problema na hora de comparar e contar o número das palavras encontrada.
Atualmente estou usando 2 for para pegar todas as categorias do csv A (CategoryList) e do csv B ( List< Category>) e salvo o a categoria encontrada e o número em uma lista.
O problema é que eu só quero que a palavra encontrada só seja salva uma vez, e que o número só seja somado para essa palavra encontrada e não para todas palavras.
Alguém pode me ajudar pro favor?
private static CategoryQuantity countCategories(List<Category> categories, CategoryList cl) {
List<Integer> count = new ArrayList<Integer>();
List<String> name = new ArrayList<String>();
for (String category : cl.getCategories()) {
int number= 0;
for (Category cat : categories) {
if (cat.getName().contains(category)) {
name.add(category.toString());
number++;
count.add(number);
}
}
}

