Map(HashMap, TreeMap, LinkedHashMap)
by 핫도구반응형
Map : key and value are existed
There are lots of Maps like HashMap, TreeMap, LinkedHashMap.
There are similiar to Sets.
Hence, that Maps are very similiar capacity Sets
Let's know about Maps
HashMap : Key값의 중복을 허용하지 않고 순서 유지를 보장받지 못하다.
TreeMap : Key값의 중복을 허용하지 않으며 key값으로 오름차순 정렬이 된다.
LinkedHashMap : Key값의 중복을 허용하지 않고, 입력 순서 유지를 보장받는다.
Map<Integer, String> hMap = new HashMap<>();
hMap.put(1, "Java");
hMap.put(10, "Java");
hMap.put(2, "아아");
hMap.put(5, "Spring");
hMap.put(new Integer(3), "SpringBoot"); // deprecated : 다른거 써라
hMap.put(4, "Mybatis");
hMap.put(4, "Mybatiss"); // 수정
hMap.put(null, "Null");
System.out.println("hMap1 => "+hMap); // {null=Null, 1=Java, 2=아아, 3=SpringBoot, 4=Mybatiss, 5=Spring, 10=Java}
System.out.println("hMap's size => "+hMap.size()); // 7
// 활용 : put, get, remove
hMap.put(7, "JPA");
System.out.println("hMap1 => "+hMap); // {null=Null, 1=Java, 2=아아, 3=SpringBoot, 4=Mybatiss, 5=Spring, 7=JPA, 10=Java}\
System.out.println("HashMap get(5) => " + hMap.get(5)); // Spring // return value
System.out.println("HashMap remove(5) => " + hMap.remove(5)); // Spring / return value
System.out.println("HashMap remove(null, Null) => " + hMap.remove(null, "Null")); // true // return boolean
System.out.println("hMap3 => "+hMap); // {1=Java, 2=아아, 3=SpringBoot, 4=Mybatiss, 7=JPA, 10=Java}
// Map 구현 클래스들 비교
// 생성자의 인자로 위의 hMap을 적용할 수 있음
Map<Integer, String> lhMap = new LinkedHashMap<>(hMap);
lhMap.put(0, "as");
System.out.println("LinkedHashMap => "+lhMap); // {1=Java, 2=아아, 3=SpringBoot, 4=Mybatiss, 7=JPA, 10=Java}
// 새로운 Map을 종류별로 작성하고 Test해보기
Map<String, String> testMap1 = new HashMap<>();
testMap1.put("머리야", "대머리");
testMap1.put("카아", "허허");
testMap1.put("시우", "머리");
testMap1.put("갈비", "심기");
System.out.println("HashMap testMap1 =>" + testMap1 ); // {카아=허허, 갈비=심기, 머리야=대머리, 시우=머리} // 순서 x
Map<String, String> testMap2 = new TreeMap<>();
testMap2.put("갈비", "심기");
testMap2.put("머리야", "대머리");
testMap2.put("카아", "허허");
testMap2.put("시우", "머리");
System.out.println("TreeMap testMap2 =>" + testMap2 ); // {갈비=심기, 머리야=대머리, 시우=머리, 카아=허허} // key값대로 오름차순으로 정렬
Map<String, String> testMap3 = new LinkedHashMap<>();
testMap3.put("시우", "머리");
testMap3.put("머리야", "대머리");
testMap3.put("갈비", "심기");
testMap3.put("카아", "허허");
System.out.println("LinkedHashMap testMap3 =>" + testMap3 ); // {시우=머리, 머리야=대머리, 갈비=심기, 카아=허허} // 값이 들어간 대로 정렬이 된다.반응형
'JAVA > OLD' 카테고리의 다른 글
| Properties (0) | 2024.07.29 |
|---|---|
| MapIterator (0) | 2024.07.29 |
| 다양한 집합(합집합, 교집합, 차집합, 부분집합) (0) | 2024.07.29 |
| Set(HashSet, TreeSet, LinkedHashSet) (0) | 2024.07.29 |
| List 인터페이스 (ArrayList & LinkedList) (0) | 2024.07.29 |
블로그의 정보
AquaMan
핫도구