티스토리 뷰
반응형
최근 몇몇 기업의 코딩테스트를 보면서
자주 사용되었던 Map, Set 자료형에 대해서 정리를 해보려고 한다 !
HashMap 은 실무에서도 자주 사용된다고 하니 익숙하게 적응해두면 좋을 것 같다.
자주 사용되는 Method 위주로 정리해보았다.
. HashMap
- Map은 Key와 Value라는 것을 한 쌍으로 갖는 자료형
- 리스트나 배열처럼 순차적으로 해당 요소 값을 구하지 않고 key를 통해 value를 얻는다
- Map의 가장 큰 특징이라면 key로 value를 얻어낸다는 점
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | import java.util.HashMap; import java.util.Iterator; public class mapTest { public static void main(String[] args) { // HashMap 선언 HashMap<Integer, String> mapTest = new HashMap<>(); // 데이터 삽입 mapTest.put(1, "Java"); mapTest.put(2, "C++"); mapTest.put(3, "python"); mapTest.put(4, "JavaScript"); // Key 삭제 mapTest.remove(4); // Key 존재 확인 System.out.println(mapTest.containsKey(4)); // true // Value 존재 확인 System.out.println(mapTest.containsValue("Java")); // true // Key의 Value 확인 System.out.println(mapTest.get(1)); // Java // isEmpty() System.out.println(mapTest.isEmpty()); // false // check HashMap size System.out.println(mapTest.size()); // 3 // HashMap toString System.out.println(mapTest.toString()); // {1=Java, 2=C++, 3=python} // Return a Collection view of the values contained in this map System.out.println(mapTest.values()); // [Java, C++, python] // 데이터 출력 // keySet : a set view of the keys contained in this map Iterator<Integer> keys = mapTest.keySet().iterator(); while (keys.hasNext()) { int key = keys.next(); String value = mapTest.get(key); System.out.println(key + " " + value); } // HashMap removes all of the mappings from this map mapTest.clear(); } } | cs |
. HashSet
- 중복을 허용하지 않고 순서가 없는 자료형
- 순서가 없는 자료형이라서 출력 시 뒤죽박죽으로 출력되는 것을 확인할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | import java.util.HashSet; import java.util.Iterator; public class setTest { public static void main(String[] args) { // HashSet 선언 HashSet<Integer> setTest = new HashSet<>(); // 데이터 삽입 setTest.add(10); setTest.add(20); setTest.add(30); setTest.add(40); setTest.add(50); // 중복을 허용하지 않음 setTest.add(10); setTest.add(20); setTest.add(30); // remove Element setTest.remove(40); // Element 존재 확인 System.out.println(setTest.contains(10)); // true // isEmpty() System.out.println(setTest.isEmpty()); // false // size() System.out.println(setTest.size()); // 4 // get iterator() Iterator setIter = setTest.iterator(); while (setIter.hasNext()) { System.out.println(setIter.next()); } // Removes all of the elements from this set. setTest.clear(); } } | cs |
반응형
'PS > PS_Note' 카테고리의 다른 글
[Java] PS Coding Tip(~ing) (0) | 2020.07.21 |
---|---|
[Python] PS Coding Tip (~ing) (0) | 2020.05.13 |
[C/C++] STL map 활용 (0) | 2020.05.13 |
[C/C++] 자주 사용하는 C++ STL 자료구조 (vector, pair, queue, priority_queue) (0) | 2020.05.02 |
[C/C++] C++ Algorithm Note (~ing) (0) | 2020.04.23 |
댓글