changes
This commit is contained in:
parent
ece4d65065
commit
2f91865363
@ -1,42 +0,0 @@
|
|||||||
package com.baeldung.collections.mapfirstpair;
|
|
||||||
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class MapFirstPairExample {
|
|
||||||
|
|
||||||
public Map.Entry<Integer, String> getFirstPairUsingIterator(Map<Integer, String> map) {
|
|
||||||
if (map == null || map.size() == 0)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
Iterator<Map.Entry<Integer, String>> iterator = map.entrySet()
|
|
||||||
.iterator();
|
|
||||||
|
|
||||||
if (iterator.hasNext())
|
|
||||||
return iterator.next();
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map.Entry<Integer, String> getFirstPairUsingStream(Map<Integer, String> map) {
|
|
||||||
if (map == null || map.size() == 0)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
Set<Map.Entry<Integer, String>> entrySet = map.entrySet();
|
|
||||||
|
|
||||||
return entrySet.stream()
|
|
||||||
.findFirst()
|
|
||||||
.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<Integer, String> populateMapValues(Map<Integer, String> map) {
|
|
||||||
if (map != null) {
|
|
||||||
map.put(5, "A");
|
|
||||||
map.put(1, "B");
|
|
||||||
map.put(2, "C");
|
|
||||||
}
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -5,28 +5,54 @@ import static org.junit.Assert.assertNotEquals;
|
|||||||
|
|
||||||
import java.util.AbstractMap;
|
import java.util.AbstractMap;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.junit.Before;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class MapFirstPairUnitTest {
|
public class MapFirstPairUnitTest {
|
||||||
|
|
||||||
private MapFirstPairExample mapFirstPairExample;
|
private Map.Entry<Integer, String> getFirstPairUsingIterator(Map<Integer, String> map) {
|
||||||
|
if (map == null || map.size() == 0)
|
||||||
|
return null;
|
||||||
|
|
||||||
@Before
|
Iterator<Map.Entry<Integer, String>> iterator = map.entrySet()
|
||||||
public void Setup() {
|
.iterator();
|
||||||
|
|
||||||
mapFirstPairExample = new MapFirstPairExample();
|
if (iterator.hasNext())
|
||||||
|
return iterator.next();
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Map.Entry<Integer, String> getFirstPairUsingStream(Map<Integer, String> map) {
|
||||||
|
if (map == null || map.size() == 0)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
Set<Map.Entry<Integer, String>> entrySet = map.entrySet();
|
||||||
|
|
||||||
|
return entrySet.stream()
|
||||||
|
.findFirst()
|
||||||
|
.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
private Map<Integer, String> populateMapValues(Map<Integer, String> map) {
|
||||||
|
if (map != null) {
|
||||||
|
map.put(5, "A");
|
||||||
|
map.put(1, "B");
|
||||||
|
map.put(2, "C");
|
||||||
|
}
|
||||||
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whenUsingIteratorForHashMap_thenFirstPairWhichWasNotInsertedFirst() {
|
public void whenUsingIteratorForHashMap_thenFirstPairWhichWasNotInsertedFirst() {
|
||||||
Map<Integer, String> hashMap = new HashMap<>();
|
Map<Integer, String> hashMap = new HashMap<>();
|
||||||
hashMap = mapFirstPairExample.populateMapValues(hashMap);
|
hashMap = populateMapValues(hashMap);
|
||||||
|
|
||||||
Map.Entry<Integer, String> actualValue = mapFirstPairExample.getFirstPairUsingIterator(hashMap);
|
Map.Entry<Integer, String> actualValue = getFirstPairUsingIterator(hashMap);
|
||||||
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(1, "B");
|
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(1, "B");
|
||||||
Map.Entry<Integer, String> pairInsertedFirst = new AbstractMap.SimpleEntry<Integer, String>(5, "A");
|
Map.Entry<Integer, String> pairInsertedFirst = new AbstractMap.SimpleEntry<Integer, String>(5, "A");
|
||||||
|
|
||||||
@ -37,8 +63,8 @@ public class MapFirstPairUnitTest {
|
|||||||
@Test
|
@Test
|
||||||
public void whenUsingStreamForHashMap_thenFirstPairWhichWasNotInsertedFirst() {
|
public void whenUsingStreamForHashMap_thenFirstPairWhichWasNotInsertedFirst() {
|
||||||
Map<Integer, String> hashMap = new HashMap<>();
|
Map<Integer, String> hashMap = new HashMap<>();
|
||||||
hashMap = mapFirstPairExample.populateMapValues(hashMap);
|
hashMap = populateMapValues(hashMap);
|
||||||
Map.Entry<Integer, String> actualValue = mapFirstPairExample.getFirstPairUsingStream(hashMap);
|
Map.Entry<Integer, String> actualValue = getFirstPairUsingStream(hashMap);
|
||||||
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(1, "B");
|
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(1, "B");
|
||||||
Map.Entry<Integer, String> pairInsertedFirst = new AbstractMap.SimpleEntry<Integer, String>(5, "A");
|
Map.Entry<Integer, String> pairInsertedFirst = new AbstractMap.SimpleEntry<Integer, String>(5, "A");
|
||||||
|
|
||||||
@ -49,8 +75,8 @@ public class MapFirstPairUnitTest {
|
|||||||
@Test
|
@Test
|
||||||
public void whenUsingIteratorForLinkedHashMap_thenFirstPairWhichWasInsertedFirst() {
|
public void whenUsingIteratorForLinkedHashMap_thenFirstPairWhichWasInsertedFirst() {
|
||||||
Map<Integer, String> linkedHashMap = new LinkedHashMap<>();
|
Map<Integer, String> linkedHashMap = new LinkedHashMap<>();
|
||||||
linkedHashMap = mapFirstPairExample.populateMapValues(linkedHashMap);
|
linkedHashMap = populateMapValues(linkedHashMap);
|
||||||
Map.Entry<Integer, String> actualValue = mapFirstPairExample.getFirstPairUsingIterator(linkedHashMap);
|
Map.Entry<Integer, String> actualValue = getFirstPairUsingIterator(linkedHashMap);
|
||||||
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(5, "A");
|
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(5, "A");
|
||||||
|
|
||||||
assertEquals(expectedValue, actualValue);
|
assertEquals(expectedValue, actualValue);
|
||||||
@ -59,9 +85,9 @@ public class MapFirstPairUnitTest {
|
|||||||
@Test
|
@Test
|
||||||
public void whenUsingStreamForLinkedHashMap_thenFirstPairWhichWasInsertedFirst() {
|
public void whenUsingStreamForLinkedHashMap_thenFirstPairWhichWasInsertedFirst() {
|
||||||
Map<Integer, String> linkedHashMap = new LinkedHashMap<>();
|
Map<Integer, String> linkedHashMap = new LinkedHashMap<>();
|
||||||
linkedHashMap = mapFirstPairExample.populateMapValues(linkedHashMap);
|
linkedHashMap = populateMapValues(linkedHashMap);
|
||||||
|
|
||||||
Map.Entry<Integer, String> actualValue = mapFirstPairExample.getFirstPairUsingStream(linkedHashMap);
|
Map.Entry<Integer, String> actualValue = getFirstPairUsingStream(linkedHashMap);
|
||||||
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(5, "A");
|
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(5, "A");
|
||||||
|
|
||||||
assertEquals(expectedValue, actualValue);
|
assertEquals(expectedValue, actualValue);
|
||||||
@ -70,10 +96,10 @@ public class MapFirstPairUnitTest {
|
|||||||
@Test
|
@Test
|
||||||
public void whenAddedAnElementInHashMap_thenFirstPairChangedUsingIterator() {
|
public void whenAddedAnElementInHashMap_thenFirstPairChangedUsingIterator() {
|
||||||
Map<Integer, String> hashMap = new HashMap<>();
|
Map<Integer, String> hashMap = new HashMap<>();
|
||||||
hashMap = mapFirstPairExample.populateMapValues(hashMap);
|
hashMap = populateMapValues(hashMap);
|
||||||
|
|
||||||
hashMap.put(0, "D");
|
hashMap.put(0, "D");
|
||||||
Map.Entry<Integer, String> actualValue = mapFirstPairExample.getFirstPairUsingIterator(hashMap);
|
Map.Entry<Integer, String> actualValue = getFirstPairUsingIterator(hashMap);
|
||||||
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(0, "D");
|
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(0, "D");
|
||||||
|
|
||||||
assertEquals(expectedValue, actualValue);
|
assertEquals(expectedValue, actualValue);
|
||||||
@ -82,10 +108,10 @@ public class MapFirstPairUnitTest {
|
|||||||
@Test
|
@Test
|
||||||
public void whenAddedAnElementInHashMap_thenFirstPairChangedUsingStream() {
|
public void whenAddedAnElementInHashMap_thenFirstPairChangedUsingStream() {
|
||||||
Map<Integer, String> hashMap = new HashMap<>();
|
Map<Integer, String> hashMap = new HashMap<>();
|
||||||
hashMap = mapFirstPairExample.populateMapValues(hashMap);
|
hashMap = populateMapValues(hashMap);
|
||||||
|
|
||||||
hashMap.put(0, "D");
|
hashMap.put(0, "D");
|
||||||
Map.Entry<Integer, String> actualValue = mapFirstPairExample.getFirstPairUsingStream(hashMap);
|
Map.Entry<Integer, String> actualValue = getFirstPairUsingStream(hashMap);
|
||||||
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(0, "D");
|
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(0, "D");
|
||||||
|
|
||||||
assertEquals(expectedValue, actualValue);
|
assertEquals(expectedValue, actualValue);
|
||||||
@ -94,10 +120,10 @@ public class MapFirstPairUnitTest {
|
|||||||
@Test
|
@Test
|
||||||
public void whenAddedAnElementInLinkedHashMap_thenFirstPairRemainUnchangedUsingIterator() {
|
public void whenAddedAnElementInLinkedHashMap_thenFirstPairRemainUnchangedUsingIterator() {
|
||||||
Map<Integer, String> linkedHashMap = new LinkedHashMap<>();
|
Map<Integer, String> linkedHashMap = new LinkedHashMap<>();
|
||||||
linkedHashMap = mapFirstPairExample.populateMapValues(linkedHashMap);
|
linkedHashMap = populateMapValues(linkedHashMap);
|
||||||
|
|
||||||
linkedHashMap.put(0, "D");
|
linkedHashMap.put(0, "D");
|
||||||
Map.Entry<Integer, String> actualValue = mapFirstPairExample.getFirstPairUsingIterator(linkedHashMap);
|
Map.Entry<Integer, String> actualValue = getFirstPairUsingIterator(linkedHashMap);
|
||||||
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(5, "A");
|
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(5, "A");
|
||||||
|
|
||||||
assertEquals(expectedValue, actualValue);
|
assertEquals(expectedValue, actualValue);
|
||||||
@ -106,10 +132,10 @@ public class MapFirstPairUnitTest {
|
|||||||
@Test
|
@Test
|
||||||
public void whenAddedAnElementInLinkedHashMap_thenFirstPairRemainUnchangedUsingStream() {
|
public void whenAddedAnElementInLinkedHashMap_thenFirstPairRemainUnchangedUsingStream() {
|
||||||
Map<Integer, String> linkedHashMap = new LinkedHashMap<>();
|
Map<Integer, String> linkedHashMap = new LinkedHashMap<>();
|
||||||
linkedHashMap = mapFirstPairExample.populateMapValues(linkedHashMap);
|
linkedHashMap = populateMapValues(linkedHashMap);
|
||||||
|
|
||||||
linkedHashMap.put(0, "D");
|
linkedHashMap.put(0, "D");
|
||||||
Map.Entry<Integer, String> actualValue = mapFirstPairExample.getFirstPairUsingStream(linkedHashMap);
|
Map.Entry<Integer, String> actualValue = getFirstPairUsingStream(linkedHashMap);
|
||||||
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(5, "A");
|
Map.Entry<Integer, String> expectedValue = new AbstractMap.SimpleEntry<Integer, String>(5, "A");
|
||||||
|
|
||||||
assertEquals(expectedValue, actualValue);
|
assertEquals(expectedValue, actualValue);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user