2013-02-28 5 views
0

파이썬에서는 표준 'list', 'tuple', 'set'및 'dictionary'에 대해 잘 알고 있으면 꽤 멀어 질 수 있습니다. 이것들은 괜찮은 파이썬 프로그래머가 알아야 할 기본 데이터 구조입니다.Java의 go-to 데이터 구조 란 무엇입니까?

이러한 데이터 구조에 해당하는 Java 데이터 항목은 무엇이며 주목할 가치가있는 데이터 구조가 있습니까?

+0

Java에는'Set','List' 및'Map' 인터페이스가 있습니다 (어떤 구현을 원하는지 선택해야합니다). 불행히도 '튜플 (tuple)'과 동등하지 않습니다. – nhahtdh

+1

Java 콜렉션 프레임 워크를 확인하십시오. http://docs.oracle.com/javase/6/docs/technotes/guides/collections/index.html – A4L

+0

@nhahtdh "tuple"에 해당하는 기능이 수정할 수없는'List '? –

답변

1

는 슬프게도 자바에서 네이티브 튜플이 없다, 당신이가는 대부분의 시간 :

  • 목록 : ArrayList를이 (목록이며, 목록 컬렉션입니다)
  • 세트 (HashSet의 A는 세트와 세트 컬렉션)
  • 사전입니다 : HashMap의 것은 (지도이지만,지도

은 일반적으로 자바 컬렉션에서보세요) 컬렉션되지 않습니다 : concurren를 들어 http://docs.oracle.com/javase/tutorial/collections/index.html CY : http://docs.oracle.com/javase/tutorial/essential/concurrency/collections.html이 당신은 LinkedList의,의 HashMap, HashSet에와 많은 작업을 수행 할 수 있습니다

0

외부 라이브러리의 많은 (구아바, 아파치, ...)이 있으며, 우리가 너무 사전 http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Dictionary.html

.

새로운 언어를 배우는 가장 좋은 방법은 코드를 읽는 것입니다. GitHub는 수많은 오픈 소스 Java 응용 프로그램을 호스팅합니다. 여기에서 최신 정보를 확인할 수 있습니다. https://github.com/languages/Java

+1

그 Dictionary 클래스는 더 이상 사용되지 않습니다 –

+1

Thanks Christophe. 그것은 1.6로 떨어졌다 것 같습니다. 최신 검색 결과는 대신 [Hashtable] (http://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html)을 가리 킵니다. 다른 사람들이 언급했듯이 [generics] (http://docs.oracle.com/javase/tutorial/java/generics/)에 대해 배우는 것이 좋습니다. –

0

자바에서는 클래스과 같은 하나의 도구가 있습니다. 튜플이나 사전으로 파이썬에서 해결하는 대부분의 문제에 대해 자바에서는 인스턴스 변수, 생성자, getter 및 setter를 사용하여 사용자 정의 클래스를 작성합니다. 따라서 자바를 사용하는 경우 상용구를 작성할 준비를하십시오.

데이터 구조에 관한 한 기본값은 ArrayList, HashSetHashMap입니다. 분류 된 버전이 있습니다 : TreeSetTreeMap — 필요할 때 매우 유용합니다.

금속에 가까운 성능이 필요한 경우 배열에 의존하게됩니다.

자바에서는 기본 제공 동시성을 즐기고 복잡해진다. ConcurrentHashSet/Map 같은 퍼포먼스 옵션과 일반 컬렉션 주위의 동기화 된 래퍼 인 Collections/synchronizedSet/Map/List (이들은 래핑 객체를 반환하는 메소드)이 복잡하다.

관련 문제