У меня есть List
из Strings
и Map
. Каждый ключ на карте должен быть представлен в списке, иначе мне нужно создать исключение. На данный момент я зацикливаю список и проверяю ключ и выбрасываю исключение, если карта не содержит ключ. Ниже приведен пример кода, который я делаю. Есть ли другой способ в Java8 , мы можем сделать это в одну строку или что-то, используя streams
и filters
?
А также содержимое списка и ключи на карте должны совпадать. То, что я уже обрабатываю в отдельном условии if.
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class TestClass {
public static void main(String[] args) {
List<String> ll = new ArrayList<>();
Map<String, Integer> m = new HashMap<>();
ll.add("a");
ll.add("b");
ll.add("d");
m.put("a", 1);
m.put("b", 1);
m.put("c", 1);
if(ll.size() != m.size){
System.out.println("Throw Exception");
}
for(String s : ll) {
if(!m.containsKey(s)) {
System.out.println("Throw Exception");
}
}
}
}