Как получить отсортированные дубликаты файлов из списка с наименьшим временем? - PullRequest
0 голосов
/ 25 апреля 2019

Я нахожу дубликаты файлов, используя карту Hash, затем добавляю эти дубликаты путей в список.

Но, как вы можете видеть, все дубликаты не добавляются в список - первый путь к файлу md5 используется для проверки дубликатов.и не был добавлен.

Дело в том, что я хочу добавить все файлы с одинаковым md5.

Если 3 файла с одинаковым md5, я хочу, чтобы все были добавлены в список.

A-md5: 5555555555555555

B-md5: 5555555555555555

C-md5: 5555555555555555

в приведенном ниже алгоритме A-md5 будет использоваться для проверки на наличие дубликатов и будетдобавьте B-md5 и C-md5 только в список и пропустите добавляемый A-md5.

Я просто хочу добавить A-md5 один раз.

Вторая проблема - после получения всехдубликаты md5 Я тоже хочу отсортировать их в зависимости от значения md5.

void findMatchingFiles(ArrayList<String> filepaths)
{
    HashMap<String, String> hashmap = new HashMap<String, String>();

    for(String filepath : filepaths)
    {
        String md5 = getMd5OfFile(filepath);
        if(hashmap.containsKey(md5))
        {
            String original = hashmap.get(md5);
            String duplicate = filepath;

            // MD5DupPaths.add(original);
            MD5DupPaths.add(duplicate);
        }
        else
        {
            hashmap.put(md5, filepath
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...