Merge pull request #14764 from eugenp/move-string-article

BAEL-6811 move string article to make space for a new one using the s…
This commit is contained in:
Loredana Crusoveanu 2023-09-14 10:06:06 +03:00 committed by GitHub
commit ed42de668a
5 changed files with 1 additions and 80 deletions

View File

@ -11,3 +11,4 @@ This module contains articles about string-related algorithms.
- [Find the First Non Repeating Character in a String in Java](https://www.baeldung.com/java-find-the-first-non-repeating-character)
- [Find the First Embedded Occurrence of an Integer in a Java String](https://www.baeldung.com/java-string-find-embedded-integer)
- [Find the Most Frequent Characters in a String](https://www.baeldung.com/java-string-find-most-frequent-characters)
- [Checking If a String Is a Repeated Substring](https://www.baeldung.com/java-repeated-substring)

View File

@ -11,6 +11,5 @@ This module contains articles about string-related algorithms.
- [How to Reverse a String in Java](https://www.baeldung.com/java-reverse-string)
- [Check if a String Is a Pangram in Java](https://www.baeldung.com/java-string-pangram)
- [Check If a String Contains Multiple Keywords in Java](https://www.baeldung.com/string-contains-multiple-words)
- [Checking If a String Is a Repeated Substring](https://www.baeldung.com/java-repeated-substring)
- [Remove Emojis from a Java String](https://www.baeldung.com/java-string-remove-emojis)
- More articles: [[next -->]](../core-java-string-algorithms-2)

View File

@ -1,79 +0,0 @@
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
public class MultiValueHashMapTest {
@Test
public void given_MultiValueHashMap_whenPuttingAndGettingSingleValue_thenValueIsRetrieved() {
MultiValueHashMap<String, Integer> map = new MultiValueHashMap<>();
map.put("key1", 10);
assertEquals(List.of(10), map.get("key1"));
}
@Test
public void given_MultiValueHashMap_whenPuttingAndGettingMultipleValues_thenAllValuesAreRetrieved() {
MultiValueHashMap<String, String> map = new MultiValueHashMap<>();
map.put("key2", "value1");
map.put("key2", "value2");
map.put("key2", "value3");
assertEquals(List.of("value1", "value2", "value3"), map.get("key2"));
}
@Test
public void given_MultiValueHashMap_whenGettingNonExistentKey_thenEmptyListIsReturned() {
MultiValueHashMap<String, Double> map = new MultiValueHashMap<>();
assertTrue(map.get("nonexistent").isEmpty());
}
@Test
public void given_MultiValueHashMap_whenRemovingValue_thenValueIsSuccessfullyRemoved() {
MultiValueHashMap<Integer, String> map = new MultiValueHashMap<>();
map.put(1, "one");
map.put(1, "uno");
map.put(1, "eins");
map.remove(1, "uno");
assertEquals(List.of("one", "eins"), map.get(1));
}
@Test
public void testRemoveNonExistentValue() {
MultiValueHashMap<Integer, String> map = new MultiValueHashMap<>();
map.put(1, "one");
map.remove(1, "nonexistent");
assertEquals(List.of("one"), map.get(1));
}
public class MultiValueHashMap<K, V> {
private HashMap<K, ArrayList<V>> map;
// Constructor
public MultiValueHashMap() {
map = new HashMap<>();
}
public void put(K key, V value) {
if (!map.containsKey(key)) {
map.put(key, new ArrayList<>());
}
map.get(key).add(value);
}
public List<V> get(K key) {
return map.getOrDefault(key, new ArrayList<>());
}
public void remove(K key, V value) {
if (map.containsKey(key)) {
map.get(key).remove(value);
}
}
}
}