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
'programing' 카테고리의 다른 글
Sass에서 동적으로 변수 생성 또는 참조 (0) | 2020.09.25 |
---|---|
비디오 컨트롤이 계속 작동하도록 Node.js를 사용하여 비디오 파일을 html5 비디오 플레이어로 스트리밍 하시겠습니까? (0) | 2020.09.25 |
개체가 Entity Framework의 데이터 컨텍스트에 이미 연결되어 있는지 확인할 수 있습니까? (0) | 2020.09.25 |
HTML 본문에 JavaScript를 포함하는 것이 나쁜 습관입니까? (0) | 2020.09.25 |
자바 : for 루프 초기화에서 여러 변수를 초기화 하시겠습니까? (0) | 2020.09.25 |