Map은 데이터가 키-값 쌍으로 저장되고 해당 키는 고유해야 하는 컬렉션입니다. HashMap은 MutableMap 인터페이스를 기반으로 하는 컬렉션 클래스로, HashTable의 MutableMap 인터페이스를 구현하여 구현합니다. Kotlin은 HashMap을 정의하고 조작하기 위해 4가지 유형의 생성자를 제공합니다.
-
해시맵() – 빈 HashMap을 만드는 데 도움이 되는 기본 생성자입니다.
-
HashMap(initialCapacity:Int, loadFactor:Float =0f) – 초기 용량을 사용하여 HashMap을 만드는 데 도움이 됩니다. 제공하지 않으면 무시되고 기본 HashMap()으로 작동합니다.
-
해시맵(initialCapacity:Int) – 주어진 용량으로 HashMap을 생성하는 데 도움이 됩니다.
-
HashMap(원본:Map
) – Map에 지정된 대로 HashMap의 인스턴스를 생성합니다.
여기서는 HashMap()을 사용합니다. HashMap 및 해당 Put()을 생성하는 생성자 일부 키-값 데이터로 동일한 항목을 채웁니다. 이 예에서는 주제 이름과 개인 기본 설정 번호를 보유할 "주제" 컬렉션을 만듭니다. Kotlin 라이브러리에서 사용할 수 있는 다양한 옵션을 사용하여 이 HashMap을 반복합니다.
for() 루프를 사용하여 반복
기존 프로그래밍 언어에는 for()가 있습니다. 모든 컬렉션을 순회하는 루프. 다음 예에서는 for()를 사용하여 지도를 탐색합니다. 루프.
예시
fun main(args: Array<String>) { //Declare HashMap var subject : HashMap<String, Int> = HashMap<String, Int> (); //Assigning value to HashMap subject.put("Java" , 1); subject.put("Kotlin" , 2); subject.put("Python" , 3); subject.put("C++" , 4); subject.put("SQL" , 5); //iterate through for loop println("---------iterate using for Loop------------\n") for ((k, v) in subject) { println(" Subject Name -> $k and its preference -> $v") } println("\n\n") }
출력
코드를 실행하면 다음과 같은 출력이 생성됩니다 -
$kotlinc -nowarn main.kt -include-runtime -d main.jar $java -Xmx128M -Xms16M -jar main.jar ---------iterate using for Loop------------ Subject Name -> Java and its preference -> 1 Subject Name -> C++ and its preference -> 4 Subject Name -> Kotlin and its preference -> 2 Subject Name -> Python and its preference -> 3 Subject Name -> SQL and its preference -> 5
ForEach() 루프를 사용하여 반복
for() 루프 외에 ForEach()를 사용하여 컬렉션을 전파할 수도 있습니다. 다음 예에서는 forEach() 루프를 사용하여 지도를 탐색합니다.
예시
fun main(args: Array<String>) { //Declare HashMap var subject : HashMap<String, Int> = HashMap<String, Int> (); //Assigning value to HashMap subject.put("Java" , 1); subject.put("Kotlin" , 2); subject.put("Python" , 3); subject.put("C++" , 4); subject.put("SQL" , 5); //iterate using forEach println("------iterate using forEach Method---------\n") subject.forEach { (k, v) -> println(" Subject Name -> $k and its preference -> $v") } println("\n\n") }
출력
코드를 실행하면 다음과 같은 출력이 생성됩니다. -
$kotlinc -nowarn main.kt -include-runtime -d main.jar $java -Xmx128M -Xms16M -jar main.jar ------iterate using forEach Method--------- Subject Name -> Java and its preference -> 1 Subject Name -> C++ and its preference -> 4 Subject Name -> Kotlin and its preference -> 2 Subject Name -> Python and its preference -> 3 Subject Name -> SQL and its preference -> 5
iterator() 메소드 사용
컬렉션을 순회하는 위의 기존 방법 외에도 Kotlin 표준 라이브러리는 iterator()라는 함수도 제공합니다. 동일한 값을 노출하지 않고 컬렉션의 개체에 액세스하는 데 사용할 수 있습니다. 이것은 컬렉션의 모든 값에 액세스하는 가장 효율적인 방법입니다. 다음 예에서는 iterator()를 사용하여 해시맵을 탐색합니다. 방법.
예시
fun main(args: Array<String>) { //Declare HashMap var subject : HashMap<String, Int> = HashMap<String, Int> (); //Assigning value to HashMap subject.put("Java" , 1); subject.put("Kotlin" , 2); subject.put("Python" , 3); subject.put("C++" , 4); subject.put("SQL" , 5); //using iterator() method println("-----------Using iterator() Method-----------\n") val i = subject.keys.iterator() while (i.hasNext()) { val key = i.next() val value = subject[key] println("Subject Name -> ${key} and its preference -> $value") } }
출력
코드를 실행하면 다음과 같은 출력이 생성됩니다 -
$kotlinc -nowarn main.kt -include-runtime -d main.jar $java -Xmx128M -Xms16M -jar main.jar -----------Using iterator() Method----------- Subject Name -> Java and its preference -> 1 Subject Name -> C++ and its preference -> 4 Subject Name -> Kotlin and its preference -> 2 Subject Name -> Python and its preference -> 3 Subject Name -> SQL and its preference -> 5