programing

Python 사전에 해당하는 Java

nasanasas 2020. 9. 25. 07:56
반응형

Python 사전에 해당하는 Java


저는 Python을 오랫동안 사용하고 있으며 사전이 사용되는 방식을 정말 좋아합니다. 매우 직관적이고 사용하기 쉽습니다. 파이썬 사전과 동등한 Java가 있습니까? 해시 맵과 해시 테이블을 사용하는 사람들에 대해 들었습니다. 누군가 해시 테이블 및 해시 맵과 파이썬 사전을 사용하는 유사점과 차이점을 설명 할 수 있습니까?


Python의 dict클래스는 Python 문서에서 비공식적으로 " 매핑 유형 " 이라고 부르는 것을 구현 한 것 입니다. 내부적으로 dict는 해시 테이블을 사용하여 구현됩니다.

Java의 HashMap클래스는 Map인터페이스 의 구현입니다 . 내부적으로 HashMap는 해시 테이블을 사용하여 구현됩니다.

구문에는 몇 가지 사소한 차이가 있으며 구현이 약간 다르게 조정되었다고 생각하지만 전반적으로 완전히 상호 교환 할 수 있습니다.


사전과지도의 아이디어는 비슷합니다. 둘 다 다음과 같은 요소를 포함합니다.

key1:value1, key2:value2 ... and so on

자바에서 Map같은 다른 방법을 구현 HashMap하거나 TreeMap등의 put(), get()작업과 유사하다

import java.util.HashMap;

Map map = new HashMap();
// Put elements to the map
map.put("Ram", new Double(3434.34));
map.put("Krishna", new Double(123.22));
map.put("Hary", new Double(1378.00));
//to get elements
map.get("Krishna"); # =123.22
map.get("Hary"); # = 1378.00 

java8 https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html 의 HashMap 문서를 참조 하십시오.


둘 사이의 한 가지 차이점은 dict키 역할을 할 수있는 데이터 유형에 대한 요구 사항이 더 엄격 하다는 것입니다. Java는 모든 객체가 키로 작동하도록 허용하지만 객체의 hashCode()메서드가 내부 상태를 반영하는 고유 한 값을 반환 하도록주의해야합니다 . Python은 hashable 정의에 맞는 키가 필요합니다 . 이는 객체의 해시 코드가 수명 동안 절대 변경되지 않도록 지정합니다.


내가 아는 한 (실제로 자바를 사용하지 않음) 사전은 해시 맵 / 해시 테이블의 또 다른 이름 일뿐입니다.

http://www.fluffycat.com/Java/HashMaps/ 에서 코드를 가져 오면 약간의 추가 자바 상용구와 함께 매우 유사한 방식으로 사용되는 것 같습니다.

참고 URL : https://stackoverflow.com/questions/1540673/java-equivalent-to-python-dictionaries

반응형