Как фильтровать HashMap с определенными условиямиJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как фильтровать HashMap с определенными условиями

Сообщение Anonymous »

У меня есть следующая исходная хэш-карта:
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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»