Так у меня есть HashMap, который содержит ключ в виде строк и значение в качестве Целого подсчета этих строк, происходящих в моем Setудаления записей из HashMap в Java
для, например, я бы Hashmap следующего
Key Value
abcd 4 (meaning there are 4 duplicate strings of abcd in my Set defined someplace)
----- 13
b-b- 7
and so on..
Теперь я пытаюсь удалить все записи пустых строк из моего HashMap. Таким образом, в приведенном выше примере, я хотел бы, чтобы удалить все пустые строки со значением 13. Таким образом, мой полученный HashMap будет
Key Value
abcd 4
b-b- 7
Это мой код, который пытается сделать то же самое. generateFeedbackMap() - это функция, которая возвращает HashMap в рассмотрение. StringIterator - это класс, который я определил, который перебирается через каждый символ моих строк.
for(String key : generateFeedbackMap().keySet()) {
StringIterator it = new StringIterator(key);
int counter = 0;
while(it.hasNext()){
String nextChar = it.next();
if(nextChar.equals("-")){
counter++;
}
Iterator<Map.Entry<String, Integer>> mapIterator = generateFeedbackMap().entrySet().iterator();
if(counter >= key.length()){
while(mapIterator.hasNext()){
Map.Entry<String, Integer> entry = mapIterator.next();
if(entry.getKey().equals(key)){
mapIterator.remove();
}
}
}
}
}
Таким образом, я увеличиваю счетчик везде, где я нахожу символ «-». Когда счетчик равен моей длине строки ключа, что означает, что это пустая строка, я удаляю ее с помощью Map Iterator, но это не удаляет запись с моей карты. Что я делаю не так?
Почему у вас есть все эти символы «-»? Почему бы вам просто не игнорировать их, прежде чем положить их в свой хэш? – CodeCamper
На самом деле это одна часть игры палача, которую я делаю. Мне нужны пустые строки в одном из начальных нормальных режимов, но в настоящее время я работаю в другом режиме, для которого я хотел бы удалить все пустые строки из HashMap. – Htlcs
. У вас есть 1 запись с кучей ---- или у вас есть несколько записей с --s? Вы хотите удалить любую запись, которая только ...? – CodeCamper