Как отсортировать HashMap по ключу по последовательности из другого списка
Есть Map<String, String>
Map<String, String> map = new HashMap<>();
map.put("A", "1000");
map.put("B", "1001");
map.put("C", "1002");
map.put("D", "1003");
map.put("E", "1004");
Есть список
List<String> list = Arrays.asList("B", "E", "A", "C");
Мне нужно что бы элементы из map выводились в последовательности из list. Если элемента с каким ключом нет в map то пропустить, взять следующий, а если ключа нет в списке то вывести в конце