Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 1
Регистрация: 22.07.2015
Сообщений: 24

Сортировка файлов по типу

21.11.2016, 18:14. Показов 1178. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, помогите решить такую задачку. Сделать сортировку файлов (ХешМап). Я сделал свою но там много повторений кода.
Есть типы
Java
1
2
3
4
5
public enum FileTypes {
    AUDIO,
    VIDEO,
    IMAGE;
}
Классы типа константы =) которые умеют проверять разширение файлов

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.io.File;
 
public class Audio implements FileExtensionFilter {
    private static final String MP3 = ".mp3";
    private static final String WAV = ".wav";
    private static final String WMA = ".wma";
 
    public boolean accept(File pathname) {
        if (pathname.isFile()) {
            if (pathname.getName().endsWith(MP3)
                    || pathname.getName().endsWith(WAV)
                    || pathname.getName().endsWith(WMA)) {
                return true;
            }
        }
 
        return false;
    }
Это описание класса Аудио, такие же классы Видео и картинки

Помогите реализовать метод аля :
Java
1
Map<FileTypes, List<File>> sortFilesByType(List<File> files) { }
FileTypes -> enum. List<file> - список всех аудиофайлов\видео\картинок и в параметрах список всех файлов

Всем спс кто сможет разобраться )
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.11.2016, 18:14
Ответы с готовыми решениями:

Сортировка (группировка) файлов по типу
Здравствуйте ребята! у меня такая задача надо сортировать (группировать) файлы по их типу т.е. документы word: *.doc, и т.д.. ...

Сортировка файлов по типу и дате изменения
Можно ли сделать сортировку файлов сначала &quot;по типу&quot;, а затем &quot;по дате изменения&quot;. То есть я хочу получить сортированный &quot;по...

Сортировка в БД по типу DATETIME
mysql_query(&quot;SELECT ids, scils, podtema, num_mess, posled_mess, datazz, levelz FROM &quot;.mysql_escape_string(htmlspecialchars($_GET)).&quot; WHERE...

2
 Аватар для oobarbazanoo
7 / 30 / 9
Регистрация: 13.05.2015
Сообщений: 1,835
23.11.2016, 01:53
Как то не логично выходит. Map отобразит каждый тип файла из трёх в какой-то один файл.
Я бы поменял местами и сделал бы
Java
1
Map< List<File>, FileTypes>
Используя файл как ключ, а тип как значение, но не наоборот.

Тогда возьми из интернета реализацию RedBlackBST и используй её методы для реализации
Java
1
sortFilesByType(List<File> files) { }
0
502 / 348 / 134
Регистрация: 14.06.2016
Сообщений: 669
23.11.2016, 03:14
Map отобразит тип файла в список.
Java
1
2
3
4
5
6
7
8
9
10
11
12
    Map<FileTypes, List<File>> sortFilesByType(List<File> files){
        Audio audio = new Audio();
        Image image = new Image();
        Video video = new Video();
        Function<File, FileTypes> compl_file = i -> audio.accept(i) ? FileTypes.AUDIO 
                                                  : image.accept(i) ? FileTypes.IMAGE 
                                                  : video.accept(i) ? FileTypes.VIDEO
                                                  : null;
        return files.stream()
                .filter(i -> compl_file.apply(i) != null)
                .collect(Collectors.groupingBy(compl_file::apply));
    }
Точно неизвестно, как у тебя называются классы Видео и Картинки.
Написал как Video и Image.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.11.2016, 03:14
Помогаю со студенческими работами здесь

Сортировка массива по типу данных
Приветствую сеньоры и сеньориты :senor: Есть задачка с элементами ООП, буду рад вашему сопровождению и прочтению. Вводиться строка из...

Сортировка списка по типу элементов
Помогите пожалуйста... есть список Фигур - List&lt;Figure&gt; list; в нем наследованные объекты класса квадрат, круг и прямоугольник; ...

Сортировка прокси по типу (http, socks, ...)
Здравствуйте. как можно осуществить сортиорвку прокси? Допустим есть база прокси из http, htts, socks4 и socks5 прокси. Мне надо записать...

Сортировка списка по типу элементов (рекурсивная реализация)
Создать рекурсивную функцию, которая сортирует список, собрав вместе элементы одних типов (целые числа, действительные числа, символы,...

Сортировка списка геометрических объектов по типу фигуры
Добрый день) мне нужна помощь с сортировкой. у меня есть класс фигура,от которого наследованы класс круг,квадрат и треугольник. в программе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru