У меня есть следующая исходная хэш-карта:
LatS=[59, 48, 59, 12, 48]
LatD=[41, 42, 46, 42]
EW=[W, W, W, W]
NS=[N, N, N, N]
LonM=[39, 23, 30, 48]
State=[OH, SD, WA, MA]
LatM=[5, 52, 35, 16]
City=[Youngstown, Yankton, Yakima, Worcester]
LonS=[0, 23, 36, 0]
LonD=[80, 97, 120, 71]
Я хочу отфильтровать хэш-карту с помощью запроса метода, который имеет следующий вызов:
HashMap result = df.query( map -> "Youngstown".equals(df.getFrameInfo().get("City").get(0)))
Определение функции:
`public HashMap query(Predicate cond){
HashMap ref = new HashMap(frameInfo);
Map result = ref.entrySet()
.stream()
.filter(cond)
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
System.out.println("Result: " + result);`
Но самое сложное — получить результат хэш-карты определенным способом. Я хочу, чтобы в качестве параметра передавались только столбцы города.
Например: если я использую этот аргумент:
HashMap result = df.query( map -> "Youngstown".equals(df.getFrameInfo().get("City").get(0)))
выход должен быть следующим:
LatS=[59]
LatD=[41]
EW=[W]
NS=[N]
LonM=[N]
State=[OH]
LatM=[5]
City=[Youngstown]
LonS=[0]
Lond=[80]
Подробнее здесь: https://stackoverflow.com/questions/705 ... conditions